先前提過,從 1.8 版之後, Zend Framework 就提供了一個 Zend_Tool 讓我們可以像 CakePHP 一樣,用命令列模式來建立專案。
但也許是 ZF 剛推出,在其他框架的專案建構器都有非常強大的功能的情況之下, ZF 仍舊僅僅提供很簡單的 project, module, controller, action 及 view 的建立功能,其他像是 model 是 schema 的建立等功能, ZF 似乎尚未完成。
註:在 ZF 1.9 提供的 Zend_Tool 原始碼中,倒是保留了許多新功能的骨架,希望未來的版本能看到它們的誕生。
不過 ZF 最大的特色:自訂一切! Zend_Tool 倒是很完整地保留了,它讓我們自己定義專案產生器的夢想有實現的可能!
接下來就讓我們來試試看吧!
設定環境
註:以下我假定大家已經依照拙作 [PHP-ZF] Zend Framework 1.8 初探所提到的安裝方式,將 ZF 1.9 安裝好了。
先在系統環境變數裡加名為 ZF_HOME 的變數,其值指向 ZF 的安裝目錄,這裡我以「 C:\ZF\ 」為例。
接著在 C:\ZF\ 下建立一個 .zf.ini 檔 (注意 zf 前面還有個 . 號) ,內容如下:
1 2 | |
以上動作的目的是因為在 zf.php 執行的過程中,它會自動去找尋環境變數 ZF_HOME 下的 zf.ini 檔來當做執行時期的設定參考。
撰寫 Provider
然後在 C:\ZF\library 下建立一個新目錄,例如 My 。再把以下內容存為 HelloWorldProvider.php ,放在 My 目錄下:
1 2 3 4 5 6 7 8 9 10 | |
所以現在你應該會有一個 C:\ZF\library\My\HelloWorldProvider.php 了,它只提供了一個很簡單的 say 方法 ,執行結果就是顯示「 Hello World! 」的字樣而已。
測試
首先我們要確定我們自訂的 Provider 已經能被 zf.php 找到,在命令列模式下輸入:
1
| |
結果如下:
1 2 3 4 5 6 7 | |
這樣就表示我們的 Provider 被 zf.php 找到了。我們可以輸入以下執行測試看看:
1 2 | |
是不是很簡單呢?
目前我對 Zend_Tool 的瞭解還不是非常深刻,但至少已經有個概念了。希望未來能對它研究得更深入些,讓後續的系列文章得以分享給大家。