dereuromark / cakephp-shim
CakePHP 插件,用于在主要框架版本之间模拟应用。
3.2.3
2024-04-06 17:37 UTC
Requires
- php: >=8.1
- cakephp/cakephp: ^5.0.7
Requires (Dev)
- dereuromark/cakephp-ide-helper: ^2.0.0
- fig-r/psr2r-sniffer: dev-master
- phpunit/phpunit: ^10.1
- dev-master
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.1
- 3.1.0
- 3.0.1
- 3.0.0
- 3.0.0-RC
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 2.0.0-beta
- 1.10.2
- 1.10.1
- 1.10.0
- 1.9.0
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.0
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.7.6
- 0.7.5
- 0.7.4
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.5
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.2
- 0.1.1
- 0.1.0
- dev-cake4
- dev-cake2
- dev-table-aware
- dev-cake3
This package is auto-updated.
Last update: 2024-09-16 20:45:28 UTC
README
模拟插件用于在 CakePHP 主要版本之间向上和向下“模拟”功能。它还提供了一些小的应用特定修复。
此分支用于在 5.x 中模拟 4.x
它为 5.x 中 4.x 功能提供兼容性包装器访问。
这对于将大型应用程序升级到下一个主要框架版本非常有用。需要调整大量代码,使用此模拟插件可以减少许多需要更改的行。特别是 ORM 层,需要进行大量重构,只需进行少量更改即可再次使事物正常工作。
此分支用于与 CakePHP 5.0+ 一起使用。有关详细信息,请参阅 版本映射。
安装
请参阅 Install.md
用法
请参阅 文档。
有关所有版本之间模拟的完整概述,请参阅 Wiki。
新模拟
- LegacyModelAwareTrait 用于 loadModel() 模拟
- 以前的 Cake\Filesystem\File 和 Cake\Filesystem\Folder 类
- ModifiedTrait 用于实体和检测实际更改的字段(而不仅仅是具有相同值的已更改)
注意:如果需要,AuthComponent 通过 TinyAuth 插件 在 5.x 中继续存在。
4.x 的现有模拟
- 组件和辅助函数的控制器设置
- 可空行为,以实现更好的数据一致性。
Table::field()
支持,以及将迁移到的fieldByConditions()
别名- 仍然支持模型属性
$primaryKey
、$displayField
、$order
、$validate
、$actsAs
和所有关系($belongsTo
、$hasMany
、...),因为手动调整所有这些将非常耗时。 - 如果表中存在
created
或modified
字段,则自动添加 Timestamp 行为。
有用的链接
在计划升级时,您应查看官方 升级文档 以及链接的升级工具。两者都包含大量关于如何使代码与框架当前方向一致的想法,以减少长期摩擦。还可以参阅我的博客文章 dereuromark.de/2023/09/28/cakephp-5-upgrade-guide/。