dereuromark/cakephp-shim

CakePHP 插件,用于在主要框架版本之间模拟应用。

安装量: 749 374

依赖关系: 7

建议者: 0

安全: 0

星标: 37

关注者: 4

分支: 11

公开问题: 0

类型:cakephp-plugin


README

CI Coverage Latest Stable Version Minimum PHP Version License Total Downloads Coding Standards

模拟插件用于在 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、...),因为手动调整所有这些将非常耗时。
  • 如果表中存在 createdmodified 字段,则自动添加 Timestamp 行为。

有用的链接

在计划升级时,您应查看官方 升级文档 以及链接的升级工具。两者都包含大量关于如何使代码与框架当前方向一致的想法,以减少长期摩擦。还可以参阅我的博客文章 dereuromark.de/2023/09/28/cakephp-5-upgrade-guide/