“PHP 架構” 系列將介紹三個廣泛使用的 PHP 架構 —— Zend、symfony 和 CakePHP —— 通過在三個架構中構建和擴充範例應用程式,研究三個架構的類似之處和不同之處。第 1 部分將列出本系列涵蓋的內容並且配置先決條件。在第 2 部分中,您將分別在三個架構中構建範例應用程式。
在本系列的 第 1 部分 中,我們已經設定了本系列的範圍並滿足了先決條件。現在,將分別在三個架構中構建範例應用程式。在接下來的幾篇文章裡,將擴充應用程式、瞭解不符合常規的例外情況、使用 Ajax、整合外部任務等等。
本文將指導您分別在三個架構中建立範例應用程式 Blahg。您將從頭做起,瞭解在 Zend 架構、symfony 和 CakePHP 中開發簡單應用程式的基礎知識。
您應當已經完成了 第 1 部分,該部分介紹了如何安裝這三個架構及使用三個架構必須滿足的先決條件。如果您還未讀過這一部分,則應立即閱讀。
假定您已經瞭解 PHP、應用程式設計以及如何在資料庫中工作。您不需要具有架構使用經驗,但是您應當已經準備好開始使用架構。
在 Zend 架構中構建 Blahg
首先,建立目錄 /column/htdocs/zend 和 /column/protected/zend。這些目錄將分別儲存 Web 可訪問的檔案及 Web 不能訪問的應用程式檔案。在 /column/htdocs/zend 中,用以下命令列建立一個 .htaccess 檔案:
RewriteEngine onRewriteRule !.(js|ico|gif|jpg|png|css)$ index.php |
在涉及目錄結構時,每個架構都有自己特定的要求。對於 Zend 架構,需要建立目錄 /column/protected/zend/controllers、/column/protected/zend/models 和 /column/protected/zend/views 來儲存控制器、模型和視圖。此外,需要建立目錄 /column/protected/zend/views/scripts;並且對於每個控制器,需要建立一個目錄來儲存一些視圖。例如,您知道 Blahg 將需要為 post 控制器提供一些視圖,那麼就需要建立目錄 /column/protected/zend/views/scripts/post 來儲存該視圖。
已經準備好目錄。該來構建模型了。
構建 Zend posts 表和模型
在第 1 部分中,建立了將要使用的 posts 表。如果您跳過了那段內容,請立即查看並且建立該表。該表的模型非常簡單。它應當被命名為 Posts.php,並且應當在 /column/protected/zend/models/ 建立它。Posts.php 將擴充 Zend_Db_Table 類,並且您將使用的大多數方法均繼承自該類。
<