CakePHP v2.0.4新特性

     PS:原创文章,如需转载,请注明出处,谢谢!

     本文地址:http://flyer0126.iteye.com/blog/1317849

 

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

      1. 目录结构的变更:

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

 

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

        (1). 捕获异常

//V2.0.4
$this->User->id = $id;
if (!$this->User->exists()) {
	throw new NotFoundException(__(' Invalid user '));
}

//V 1.3.13
if (!$id && empty($this->data)) {
	$this->Session->setFlash(__('Invalid user', true));
	$this->redirect(array('action' => 'index'));
}

      (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方式引入:

App::uses('AppController', 'Controller');

 

      6. 页面展示样式:

       页面布局基本一致,但 CSS 样式上做了一些变动,使显示更具有灵动性,美观性更强一些。

 

      总结:

         以上几点只是个人的浅显认识,可能还存在一些待商榷之处,希望各位不吝赐教。对于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 组件。更多信息参见CakePHP 2.0 和1.3.13 的改进日志。

 

 

近期本人开通了微信订阅号“CakePHP学习”,欢迎大家的关注。

CakePHP v2.0.4新特性
 

你可能感兴趣的:(PHP,cakephp)