1. 安裝
從 Zend Framework 的網頁上下載最新版本。解壓後,把整個目錄拷貝到一個理想的地方,比如:/php/library/Zend。
開啟 php.ini 檔案,確認包含 Zend 目錄的路徑在 include_path 裡定義了。以上面的配置為例,php.ini 中應有類似下面的條目:
include_path = ".:/php/library"
注意:Windows 下的寫法略有不同,應該類似於 include_path = ".;C:\php\library"
初始的安裝就這麼簡單。Zend Framework 的一些元件會用到 php 的一些附加模組。具體的要求請參考這裡。
2. 專案的目錄結構
如果你的專案不包含多個模組,可以用下面的目錄結構:
application/controllers/IndexController.phpmodels/views/scripts/index/index.phtmlhelpers/filters/html/.htaccessindex.php如果你的專案要包含多個模組(比如:部落格,社群,等等),那麼建議使用模組化的目錄結構。
3. 網頁的根目錄
網頁的根目錄應指向上述目錄結構中的 html 資料夾。
4. 重寫規則
編輯 html/.htaccess 檔案,加入下面兩行:
RewriteEngine onRewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php注意:上述是針對 apache 的配置。如果是其他的伺服器,請參考這裡。
5. 載入程式
編輯 html/index.php 檔案,敲入下面程式碼:
<?phprequire_once'Zend/Controller/Front.php';$rootPath = dirname(dirname(__FILE__));Zend_Controller_Front::run($rootPath .'/application/controllers');上面程式碼的作用是例項化前端控制器(Front Controller)並執行它。6. 預設的動作控制器(Action Controller)
Zend Framework 的預設路由規則是 http://域名/控制器名/動作(方法)名。例如:
會被解析到名為 User 的控制器以及該控制器中定義的 show 方法。如果該方法沒有定義,則預設轉到 index 方法。
注意:在程式碼中,控制器名的後面要加上 Controller,而動作名的後面要加上 Action。
編輯 application/controllers/IndexController.php 檔案,輸入:
<?php /** Zend_Controller_Action */ require_once'Zend/Controller/Action.php'; classIndexControllerextendsZend_Controller_Action { public functionindexAction() { } }
7. 檢視(頁面)指令碼
編輯 application/views/scripts/index/index.phtml,輸入:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"" http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My first Zend Framework App</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
8. 錯誤控制器
預設情況下,Zend Framework 的錯誤處理外掛是被註冊的。它需要一個錯誤控制器來處理錯誤。預設的錯誤控制處理被假定為 ErrorController 以及其中定義的 errorAction。
編輯 application/controllers/ErrorController.php,輸入:
<?php /** Zend_Controller_Action */ require_once'Zend/Controller/Action.php'; classErrorControllerextendsZend_Controller_Action { public functionerrorAction() { } }
下面是對應的檢視指令碼。編輯 application/views/scripts/error/error.phtml,輸入:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"" http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
</head>
<body>
<h1>An error occurred</h1>
<p>An error occurred; please try again later.</p>
</body>
</html>
9. 執行
好,現在執行網站。在瀏覽器中鍵入下面三個地址,得到的結果應該是一樣的——就是最最常見的“Hello, World!“。
http://域名
http://域名/index
http://域名/index/index
如果是這樣,那麼恭喜你!