Zend Framework入門知識點小結(jié)
本文總結(jié)分析了Zend Framework入門知識點。分享給大家供大家參考,具體如下:
zend framework是MVC模式的一種實現(xiàn),要快速的入門差不多只看Zend_Controller Zend_View 部分就可以了吧。
1.Zend_Controller部分。最重要的類是Zend_Controller_Front.使用它的經(jīng)典代碼很 簡單:
$front=Zend_Controller_Front::getInstance();
$front-> setControllerDirectory("./app/controllers");
$front->dispatch();
這里要說明的 是不能使用new來獲得一個Zend_Controller_Front,只能調(diào)用getInstance方法來返回一個實例(我的 zend_framework用的是1.01)。這里我指定的controllers目錄是在www文檔根目錄之下的app文件夾之下。一般情況下app 不應(yīng)該放在文檔根目錄下——所謂的安全問題:如果配置不嚴格,www文檔根目錄下的文件可能對訪問者來說都是可見的。一般要放在別的目錄,比如放在和文檔 根目錄同級的地方則可以使用:
$front->setControllerDirectory("../app/controllers")
多了 一個"."。這里使用的是相對路徑。你可以用路徑全名指定其他目錄。比如:
$front->setControllerDirectory("E: /server/app/controllers")
這部分是包含在index。php中的。在正確的配置下,任何請求都會由rewrite功能重定向到這$front即前端控制器Zend_Controller_Front實例。所有認證什么的處理都要在dispatch前處理。
2.Zend_View 常用代碼為:
$view=new Zend_View();
Zend_Registry::set("view".$view);
默認采用了Zend_Framework推薦的目錄結(jié)構(gòu). 即views和 controllers models同級都在application目錄下。views下面有三個同級目錄scrīpts helpers filters。這樣當(dāng)你定義了一個Controller,你就得在scrīpts下面新建一個目錄,用來存放該Controller下屬的模板。比如簡 單的
Class IndexController extends Zend_Controller_Action
{
function IndexAction()
{
}
}
你就要相應(yīng)的在里面建立一個index目錄,在index目錄下建立一個index.phtml的模板。如果在IndexController下另 建了一個function addAction(),你就得再在index在新建一個add.phtml。你有另一個UserController,你就要相應(yīng)的有個user目錄在 scrīpts下。這些*.phtml文件類似于html文件,定義你輸出的內(nèi)容顯示方式。簡單的就是留著空白也可以。但就是不能沒有,否則會提示說 "error“invalid Controller...這是因為默認的ErrorController是已經(jīng)注冊的。當(dāng)前端控制器找不到相應(yīng)的控制器分發(fā)的時候就會調(diào)用默認的 ErrorController。
我們有時候不想使用默認的目錄結(jié)構(gòu)也不想使用默認的phtml類型的視圖模板。這時我們可以使用
$view->setParam ("noViewRanderer",true);
來取消默認的phtml類型目錄設(shè)置。用
$view->setParam ("noErrorHandler",true);
來寫在默認的ErrorController。使用
$view->setscrīptPath ("./app/views");
來設(shè)置你的模板所在位置。這在使用smarty模板時很有用。
可以這么寫:
$view=new Zend_View_Smarty();
$view->setParam("noViewRanderer",true);
$view->setParam("noErrorHandler",true);
$view->setscrīptPath("./app/views");
Zend_Registry::set("view".$view);
在使用的時候可以這么獲?。?/p>
$view=Zend_Registry::get("view");
3. 剛接觸的時候?qū)τ趍odel可以簡單的理解為數(shù)據(jù)對象,對于操作數(shù)據(jù)庫的一般可以直接繼承Zend_Db_Table這個類封裝的很不錯,一般使用足夠了:
class data extends Zend_Db_Table
{
protected $_name="data";
}
你只需指定表的名稱,當(dāng)然你可以不顯示指定,這時zendf會默認的以你的類名去查找數(shù)據(jù)庫中的表。別忘了為Zend_Db_Table指定 defaultAdapter:
$config = new Zend_Config_Ini('./application/config.ini', 'general');
$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);
config.ini類似于[general]
db.adapter = PDO_MYSQL db.config.host = localhost db.config.username = rob db.config.password = 123456 db.config.dbname = zftest
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Zend Framework框架的PHP程序設(shè)計有所幫助。
- windows下zendframework項目環(huán)境搭建(通過命令行配置)
- Zend Framework數(shù)據(jù)庫操作技巧總結(jié)
- Zend Framework數(shù)據(jù)庫操作方法實例總結(jié)
- Zend Framework入門應(yīng)用實例詳解
- Zend Framework入門教程之Zend_View組件用法示例
- Zend Framework開發(fā)入門經(jīng)典教程
- 解析zend Framework如何自動加載類
- Zend Framework頁面緩存實例
- Zend Framework 2.0事件管理器(The EventManager)入門教程
- Zend Framework+smarty用法實例詳解
- Zend Framework緩存Cache用法簡單實例
- Zend?Framework基于Command命令行建立Zend?Framework項目的方法
相關(guān)文章
php版微信公眾平臺接口開發(fā)之智能回復(fù)開發(fā)教程
這篇文章主要介紹了php版微信公眾平臺接口開發(fā)之智能回復(fù)開發(fā),結(jié)合實例形式較為詳細的分析了只能回復(fù)功能的原理與通過微信接口調(diào)用具體實現(xiàn)技巧,需要的朋友可以參考下2016-09-09
thinkphp ajaxfileupload實現(xiàn)異步上傳圖片的示例
本篇文章主要介紹了thinkphp ajaxfileupload實現(xiàn)異步上傳圖片的示例,具有一定的參考價值,有興趣的可以了解一下2017-08-08
PHP使用Memcache時模擬命名空間及緩存失效問題的解決
這篇文章主要介紹了PHP使用Memcache時模擬命名空間及緩存失效問題的解決,這里談到的緩存失效主要針對高并發(fā)場景下取不到緩存的情況,需要的朋友可以參考下2016-02-02

