Zend Framework 前陣子釋出 1.5.0 正式版了,與 1.5.0-RC 系列沒有太大差別,所以沒支援的還是得自己想辦法。
Controller 的部份,Zend_Controller 沒什麼問題,最基本的配置方式都已經摸熟了,也覺得算是還蠻好用的。
View 的部份,Zend_View 畢竟是 PHP 語法,看起來就不太討喜,加上我們是使用 Google cTemplate,其實以目前狀況算是還不錯,要另外再學一套的話要先考慮好處夠不夠足以換掉。far 最近在研究這方面,而我則是想使用 Smarty。但不管是哪種方案,View 的部份看起來沒什麼問題。
真正的問題在 Model,你可以在 Zend Framework 的文件裡面看到 "models" 的目錄配置 (像是在 Using a Conventional Modular Directory Structure 裡),但實際上 trace code 發現沒有對 model 支援。如果你自己寫了一個 Model 放到 models 裡,也沒有很方便的方法讓 Controller 裡的 code 使用,目前我想到的 dirty work 是 require_once(dirname(__FILE__) . '/../models/UserModel.php')
。
有誰用 ZF 開發有遇到同樣問題的嗎?
看 tutorial 的作法是從 index.php 裡作 ini_set('include_path')
ini_set 嗎... :/
在 index.php 裡面加入set_include_path('./application/models/'.PATH_SEPARATOR. get_include_path() );
之後然後再直接用 Zend_Loader::load('CLASS NAME');
我目前是這樣用的
先照 ronnywang 的方法作了...
路人經過 :)
我目前的作法跟ronnywang一樣,也是把models加到include_path裡
我比較懶得寫require又比較不在乎效率
在bootstrap裡面加上:
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
之後就連require或load都省下來了 :)
我是用 registerAutoload() 沒錯,PHP 端的效率現在沒有那麼在乎了...
推荐PHPTAL. PHPTAL用属性来定义模板语言的逻辑元素, 而不是像Smarty自定义了一套特殊格式的语法. 这样, 在向设计好的页面添加逻辑控制时, 就不会破坏当前页面的布局, 便于页面设计师和程序员之间的协作.
用 Zend_View 其實還不錯。