- 論壇徽章:
- 0
|
CakePHP v2.0.4新特性
前幾天看到CakePHP官網(wǎng) 上更新了v2.0.4穩(wěn)定版,于是利用一個cms練習(xí)小項(xiàng)目感受了一下,對于CakePHP v2.0.4新特性(與之前版本的區(qū)別)簡單總結(jié)如下:
1. 目錄結(jié)構(gòu)的變更:
v2.0.4 中app與lib同級,cake包則放置于lib中。
689f9efe-9060-387e-b25c-65a44e096840.png (73.21 KB, 下載次數(shù): 26)
下載附件
2011-12-20 23:40 上傳
2. Bake生成代碼也存在較大差異,簡單示例:
(1). 捕獲異常
Php代碼- 1.//V2.0.4
- 2.$this->User->id = $id;
- 3.if (!$this->User->exists()) {
- 4. throw new NotFoundException(__(' Invalid user '));
- 5.}
- 6.
- 7.//V 1.3.13
- 8.if (!$id && emptyempty($this->data)) {
- 9. $this->Session->setFlash(__('Invalid user', true));
- 10. $this->redirect(array('action' => 'index'));
- 11.}
復(fù)制代碼 (2). 視圖頁面上表內(nèi)容輸出利用函數(shù) h() 進(jìn)行處理,其本質(zhì)是利用 htmlspecialchars() 將特殊字符轉(zhuǎn)換為HTML編碼。
3. $request 屬性添加:
控制器基類中添加 $request 屬性,應(yīng)用時(shí)作為 CakeRequest 對象的實(shí)例。
簡單應(yīng)用示例:(1). 對于form表單判斷: if($this->request->is('port')){ ... };
(2). 對于數(shù)據(jù)獲。$this->request->data;
(3). 對于請求 url 分析處理操作等。
4. 類的定義方式:
v2.0.4 中類的屬性與方法的修飾符與PHP5 類的定義方式更接近,采用public、protected、private 等修飾符。
5. 引入文件方式:
v2.0.4 中文件引入利用app方式引入:
Php代碼- 1.App::uses('AppController', 'Controller');
復(fù)制代碼 總結(jié):
以上幾點(diǎn)只是個人的淺顯認(rèn)識,可能還存在一些待商榷之處,希望各位不吝賜教。對于CakePHP的每個分支的優(yōu)劣之處,還需要我們在實(shí)際運(yùn)用中多多揣摩,多多體會!
最后引用一下官方的說法:
CakePHP 2.0 的新亮點(diǎn)便是支持PHP 5 特性,包括PHP 5 的異常、標(biāo)準(zhǔn)庫、JSON 編碼(json_encode )及新引入的PDO (PHP Data Objects )數(shù)據(jù)訪問接口。PSR-0 命名約定已經(jīng)被采納,所有的類都可被映射至一個與類名相同的文件。對象現(xiàn)在已可作為CakePHP 庫注入,正如開發(fā)人員所說的" 沒有借口再去修改核心文件了" 。開發(fā)團(tuán)隊(duì)同時(shí)表示,由于lazy-loading (延遲加載)的廣泛使用,CakePHP 現(xiàn)在要比以前快得多,甚至在調(diào)試模式下也如此。
CakePHP 的底層控制庫則完全進(jìn)行了重構(gòu)(rebuilt ),加入了自動幫助(automatic help generation )、參數(shù)檢查及代碼高亮等功能。而且使用PHPUnit 取代SimpleUnit 作為CakePHP 中的測試框架,對PostgreSQL 、SQLite 和微軟的SQL Server 數(shù)據(jù)庫的支持功能也進(jìn)行改進(jìn)。新的CakePHP 2.0 文檔已經(jīng)寫好,同時(shí)為CakePHP 1.3 用戶提供了一個詳細(xì)的遷移指南。
CakePHP 2.0 不再支持PHP4 ,CakePHP 團(tuán)隊(duì)對其代碼庫進(jìn)行了重構(gòu),以便嚴(yán)格遵循PHP 5 規(guī)范(包括5.2 及以后版本) 。
CakePHP 2.0.0 與1.3 分支的CakePHP 1.3.13 是 同時(shí)發(fā)布的。是對1.3.12 的一個小更新,主要修復(fù)了其 中引入的兩個regression 問題。CakePHP 1.3.13 還移除了EmailComponet 組件中的MIME 類型通知,以解決 投遞問題,同時(shí)改進(jìn)SecurityComponent 和TranslateBehavior 組件。
|
|