免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1858 | 回复: 2

CakePHP v2.0.4新特性 [复制链接]

论坛徽章:
0
发表于 2011-12-20 23:40 |显示全部楼层

CakePHP v2.0.4新特性








      前几天看到CakePHP官网 上更新了v2.0.4稳定版,于是利用一个cms练习小项目感受了一下,对于CakePHP v2.0.4新特性(与之前版本的区别)简单总结如下:

      1. 目录结构的变更:

      v2.0.4 中app与lib同级,cake包则放置于lib中。

689f9efe-9060-387e-b25c-65a44e096840.png


      2. Bake生成代码也存在较大差异,简单示例:

        (1). 捕获异常



Php代码
  1. 1.//V2.0.4  
  2. 2.$this->User->id = $id;  
  3. 3.if (!$this->User->exists()) {  
  4. 4.    throw new NotFoundException(__(' Invalid user '));  
  5. 5.}  
  6. 6.  
  7. 7.//V 1.3.13  
  8. 8.if (!$id && emptyempty($this->data)) {  
  9. 9.    $this->Session->setFlash(__('Invalid user', true));  
  10. 10.    $this->redirect(array('action' => 'index'));  
  11. 11.}  
复制代码
(2). 视图页面上表内容输出利用函数 h() 进行处理,其本质是利用 htmlspecialchars() 将特殊字符转换为HTML编码。



      3. $request 属性添加:

      控制器基类中添加 $request 属性,应用时作为 CakeRequest 对象的实例。

      简单应用示例:(1). 对于form表单判断: if($this->request->is('port')){ ... };

                              (2). 对于数据获取:$this->request->data;

                              (3). 对于请求 url 分析处理操作等。



      4. 类的定义方式:

       v2.0.4 中类的属性与方法的修饰符与PHP5 类的定义方式更接近,采用public、protected、private 等修饰符。



      5. 引入文件方式:

      v2.0.4 中文件引入利用app方式引入:



Php代码
  1. 1.App::uses('AppController', 'Controller');
复制代码
总结:

         以上几点只是个人的浅显认识,可能还存在一些待商榷之处,希望各位不吝赐教。对于CakePHP的每个分支的优劣之处,还需要我们在实际运用中多多揣摩,多多体会!



      最后引用一下官方的说法:

      CakePHP 2.0 的新亮点便是支持PHP 5 特性,包括PHP 5 的异常、标准库、JSON 编码(json_encode )及新引入的PDO (PHP Data Objects )数据访问接口。PSR-0 命名约定已经被采纳,所有的类都可被映射至一个与类名相同的文件。对象现在已可作为CakePHP 库注入,正如开发人员所说的" 没有借口再去修改核心文件了" 。开发团队同时表示,由于lazy-loading (延迟加载)的广泛使用,CakePHP 现在要比以前快得多,甚至在调试模式下也如此。

      CakePHP 的底层控制库则完全进行了重构(rebuilt ),加入了自动帮助(automatic help generation )、参数检查及代码高亮等功能。而且使用PHPUnit 取代SimpleUnit 作为CakePHP 中的测试框架,对PostgreSQL 、SQLite 和微软的SQL Server 数据库的支持功能也进行改进。新的CakePHP 2.0 文档已经写好,同时为CakePHP 1.3 用户提供了一个详细的迁移指南。

      CakePHP 2.0 不再支持PHP4 ,CakePHP 团队对其代码库进行了重构,以便严格遵循PHP 5 规范(包括5.2 及以后版本) 。
       CakePHP 2.0.0 与1.3 分支的CakePHP 1.3.13 是 同时发布的。是对1.3.12 的一个小更新,主要修复了其 中引入的两个regression 问题。CakePHP 1.3.13 还移除了EmailComponet 组件中的MIME 类型通知,以解决 投递问题,同时改进SecurityComponent 和TranslateBehavior 组件。

论坛徽章:
0
发表于 2011-12-21 21:45 |显示全部楼层
学习鸟 谢谢分享

论坛徽章:
0
发表于 2012-02-25 14:51 |显示全部楼层
感觉Cakephp每一次升级语法都发生了很大的变化,网上的教程几乎全部过时。。现在在学习Cakephp2.0,举步维艰。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP