搜尋
首頁php教程PHP开发Zend Framework入門知識點小結

本文總結分析了Zend Framework入門知識點。分享給大家供大家參考,具體如下:

zend framework是MVC模式的一種實現,要快速的入門差不多只看Zend_Controller Zend_View 部分就可以了吧。

1.Zend_Controller部分。最重要的類別是Zend_Controller_Front.使用它的經典程式碼很簡單:

$front=Zend_Controller_Front::getInstance();
$front-> setControllerDirectory("./app/controllers");
$front->dispatch();

這裡要說明的 是不能使用new來取得一個Zend_Controller_Front,只能呼叫getInstance方法來傳回一個實例(我的 zend_framework用的是1.01)。這裡我指定的controllers目錄是在www文檔根目錄之下的app資料夾之下。一般情況下app 不應該放在文檔根目錄下-所謂的安全性問題:如果配置不嚴格,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建議的目錄結構. 即views和 controllers models同級都在appli.目錄下。 views下面有三個同級目錄scrīpts helpers filters。這樣當你定義了一個Controller,你就得在scrīpts下面新建一個目錄,用來存放該Controller下屬的模板。例如簡 單的

Class IndexController extends Zend_Controller_Action
{
 function IndexAction()
 {
 }
}

   

你就要相應的在裡面建立一個index目錄,在index目錄下建立一個index.phtml的模板。如果在IndexController下另 建了一個function addAction(),你就得再在index在新建一個add.phtml。你有另一個UserController,你就要相應的有個user目錄在 scrīpts下。這些*.phtml檔案類似html文件,定義你輸出的內容顯示方式。簡單的就是留著空白也可以。但就是不能沒有,否則會提示說 "error「invalid Controller...這是因為預設的ErrorController是已經註冊的。當前端控制器找不到對應的控制器分發的時候就會呼叫預設的 ErrorController。

我們有時候不想使用預設的目錄結構也不想使用預設的phtml類型的視圖模板。這時我們可以使用

$view->setParam ("noViewRanderer",true);

   

來取消預設的phtml類型目錄設定。用

$view->setParam ("noErrorHandler",true);

   

來寫在預設的ErrorController。使用

$view->setscrīptPath ("./app/views");

   

來設定你的模板位置。這在使用smarty模板時很有用。

可以這麼寫:

$view=new Zend_View_Smarty();
$view->setParam("noViewRanderer",true);
$view->setParam("noErrorHandler",true);
$view->setscrīptPath("./app/views");
Zend_Registry::set("view".$view);

   

在使用的時候可以這麼獲取:

$view=Zend_Registry::get("view");

   

3.剛接觸資料的時候直接繼承Zend_Db_Table這個類別封裝的很不錯,一般使用足夠了:

class data extends Zend_Db_Table
{
 protected $_name="data";
}

你只需指定表的名稱,當然你可以不顯示指定,這時zendf會預設的以你的類別名稱去查找資料庫中的表。別忘了指定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

希望本文所述對大家基於Zend Framework框架的PHP程式設計有所幫助。

更多Zend Framework入門知識點小結相關文章請關注PHP中文網!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具