CakePHP 2.1-alpha 现已发布
我们很高兴地宣布 CakePHP 的下一个版本已经进入 alpha 状态。此版本添加了一些有用的功能,使 CakePHP 成为最易于使用且最有趣的框架之一。体验内容类型特定的页面、改进的错误消息、视图块和新的回调系统。
CakePHP 核心团队很荣幸地宣布立即提供 CakePHP 2.1.0 alpha [1]。2.1 版与 2.0.x 版完全向后兼容。这意味着,如果您已经有在 2.0 上运行的应用程序,或者计划将应用程序升级到 2.0,那么您可以立即安全地开始使用 2.1,并且升级无需额外的操作。我们对 2.1 中包含的几项增强功能感到非常兴奋,并且正在努力完成剩余的改进。
总共,CakePHP 2.1 有超过 230 次提交,并添加了超过 15 个新功能或增强功能。更改的完整列表可以在更改日志页面 [2] 中查看。以下是此版本的主要亮点的快速列表。
内容类型视图
CakePHP 添加了两个新的视图类。新的 JsonView 和 XmlView 使您可以更轻松地生成 XML 和 JSON 视图。
通过在您的应用程序中启用 RequestHandlerComponent,并为 xml 和/或 json 扩展名启用支持,您可以自动利用新的视图类。您可以通过两种方式生成数据视图。第一种是使用 _serialize 键,第二种是创建普通的视图文件。
这使得创建内容类型特定的页面和以正确 MIME 类型自动生成错误响应变得非常容易。
扩展视图
View 类有一个新方法,允许您使用另一个文件包装或“扩展”视图/元素/布局。这引入了“子布局”的概念,使您的视图比以往更加灵活,这是使用 ViewBlocks 实现的。
View 块是一种灵活的方式来创建视图中的插槽或块。块用更强大、更灵活的 API 替换 $scripts_for_layout 和 $content_for_layout。
例如,块非常适合实现侧边栏或在布局底部/顶部加载资产的区域。
Plugin.view
所有布局/视图/元素名称现在可以使用 Plugin.view 来指示应使用插件视图。View::element() 的 plugin 选项已弃用。
改进的错误
debug() 函数的输出现在更简洁、更易读。我们还将交互式堆栈跟踪添加到异常页面。您可以单击跟踪中的每个点以查看该点的变量状态。此外,如前所述,CakePHP 现在可以响应内容类型特定的错误页面。
通用事件系统
一个新的通用事件系统已经构建完成,它取代了回调的调度方式。不过,这不会导致您的代码发生任何变化。您可以随意调度自己的事件并附加回调。这对于插件之间的通信和通过事件解耦类很有用。
测试
可以在除 $test 之外的其他数据源中创建装置。使用 ClassRegistry 加载的模型和使用其他数据源的模型将在其数据源名称前加上 test_(例如,数据源 master 将尝试在测试套件中使用 test_master)。
添加了一个新的 TestShell。它减少了运行单元测试所需的键入,并提供了一个基于文件路径的 UI
::
Console/cake test app/Model/Post.php Console/cake test app/Controller/PostsController.php
助手
- <!–nocache–> 标签现在在元素中正确工作。
- FormHelper 现在从安全字段哈希中省略了禁用字段。这使得使用 SecurityComponent 和禁用输入变得更容易。
- 与单选输入一起使用时,between 选项现在有不同的行为。现在,between 值位于图例和第一个输入元素之间。
- 带有复选框输入的 hiddenField 选项现在可以设置为特定值,例如“N”,而不仅仅是 0。
- 日期 + 时间输入的 for 属性现在反映了第一个生成的输入。这可能会导致生成的日期时间输入的 for 属性发生更改。
回调优先级
助手、行为和组件的回调现在支持优先级,这有助于更轻松地控制回调触发的顺序。
我们正在努力在接下来的几个小时内将 2.1 的在线书籍发布,并计划很快完成剩余的功能。感谢不断壮大的 CakePHP 社区提供的补丁、文档变更和新的工单。没有你们,就不会有 CakePHP!
- 下载打包的版本 [1]
- 查看更改日志 [2]