alescx / cakephp-shim
一个 CakePHP 插件,用于在主要框架版本之间“适配”应用程序。
1.4.2
2017-02-19 23:57 UTC
Requires
- php: >=5.5
- cakephp/cakephp: ^3.0
Requires (Dev)
- fig-r/psr2r-sniffer: dev-master
This package is not auto-updated.
Last update: 2024-09-19 10:11:07 UTC
README
Shim 插件用于在 CakePHP 的主要版本之间“适配”功能。它还提供了一些小型的应用程序特定修复。
此分支用于在 3.x 中适配 2.x
它为 3.x 中 2.x 的功能提供兼容性包装器访问。
这在升级大型应用程序到下一个主要框架版本时非常有用。需要调整大量代码,使用此 Shim 插件则可以减少许多需要修改的行。特别是 ORM 层,需要大量重构,才能使功能再次正常工作。
此插件需要 CakePHP 3.0+。
安装
请参阅 SETUP.md
用法
请参阅 文档。
2.x 和 3.x 之间所有适配的全面概述可以在 Wiki 中找到。
主要适配
- 为更好的数据一致性提供可空行为。
- 支持一级
Table::find('first')
。 - 支持一级
Table::find('count')
。 - 支持
Table::field()
和fieldByConditions()
别名以进行迁移。 - 仍然支持模型属性
$primaryKey
、$displayField
、$order
、$validate
、$actsAs
以及所有关系($belongsTo
、$hasMany
、...),因为手动调整这些属性将非常耗时。 - 包含 Session 组件,作为请求会话对象的兼容性包装器(也许还会是 Session 助手,如果该助手在 3.x 中被弃用)。
- 如果表中存在
created
或modified
字段,则自动添加 Timestamp 行为。
有用的链接
在计划升级时,您应该查看 2.x 的升级插件 和 3.x 的升级应用程序。它们都扩展了核心插件,并包含大量关于如何使代码与框架当前方向保持一致的想法,以减少长期摩擦。