| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档是CakePHP 3.x的迁移指南,主要描述了从CakePHP 2.x升级到3.0的关键变更。内容包括:新ORM完全重写,解决了2.x中记录与表混合、API不一致、缺乏查询对象、返回数组等问题;移除了ContainableBehavior、recursive、bindModel和unbindModel,改用contain()方法作为查询构建器的核心功能;验证方面,Validation::range()现在包含边界值,Validation::ssn()被移除;时间类不再使用静态方法,而是继承DateTime;号码库重写为使用NumberFormatter类;应用目录结构遵循PSR-4;要求PHP 5.4.16以上及mstring、intl扩展;推荐使用Composer安装。此外,文档还介绍了升级工具、自定义查找器选项数组传递以及行为中实现查找器方法的功能。 | ||
| AI总结 | ||
CakePHP 3.x 在验证、测试、系统要求和安装方式上有多项重要更新。验证类新增了 `longitude()`、`isInteger()`、`ascii()` 和 `utf8()` 方法。测试方面,`TestFixture` 模型现在支持通过 `key` 获取用于导入的表名。
迁移至 3.0 版本有明确要求:必须使用 PHP 5.4.16 及以上版本,并安装 `mstring` 和 `intl` 扩展。应用目录布局改为遵循 PSR-4 标准,建议使用 Composer 安装 CakePHP,不再支持 PEAR 或共享目录方式。
核心 API 发生重大变更。`CakeTime` 不再使用 `sprintf` 格式字符串,推荐使用 `i18nFormat`;`Time` 类扩展了 `DateTime`,不再是静态方法集合。`Number` 库重写,`CakeNumber` 更名为 `Cake\I18n\Number`,`format()` 方法要求参数为数组,`fromReadableSize()` 移至 `Text::parseFileSize()`。验证类中,`range()` 在提供边界值时变为包含边界,`ssn()` 被移除。XML 构建中,`build()` 不再接受 URL,需使用 `Http\Client`。
最大的变化是全新 ORM,它解决了旧版中记录与表概念混淆、API 不一致、无查询对象、返回数组、无记录对象、Containable 行为复杂以及 Recursive 控制不佳等问题。`ContainableBehavior`、`recursive`、`bindModel` 和 `unbindModel` 被移除,关联加载默认关闭,必须通过 `contain()` 方法显式启用。旧版 `find('all', array)` 语法在 3.x 中仍被支持,但 `findAllBy*` 动态查找器被移除,`findBy*` 返回查询对象,需调用 `first()` 获取结果。行为(Behavior)现在可直接实现查找器方法。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
960 页请下载阅读 -
文档评分














CakePHP Cookbook 3.x