網站製作學習誌

記錄學習製作網站的一切

Zend Framework 1.8 初探

簡介

Zend Framework 終於推出 1.8 版了;這次改版最大的特色,就是加入了在命令列建立專案的功能 (類似 CakePHP 的 bake 指令) 。

詳細特色如下:

  • Zend_Tool
  • Zend_Application
  • Zend_Loader_Autoloader and Zend_Loader_Autoloader_Resource
  • Zend_Navigation
  • Zend_CodeGenerator
  • Zend_Reflection
  • Zend Server backend for Zend_Cache
  • Zend_Service_Amazon_Ec2
  • Zend_Service_Amazon_S3
  • Incorporated Dojo 1.3
  • Added support for arbitrary Dojo Dijits via view helpers
  • Zend_Filter_Encrypt
  • Zend_Filter_Decrypt
  • Zend_Filter_LocalizedToNormalized and _NormalizedToLocalized
  • Support for file upload progress support in Zend_File_Transfer
  • Translation-aware routes
  • Route chaining capabilities
  • Zend_Json expression support
  • Zend_Http_Client_Adapter_Curl
  • SOAP input and output header support
  • Support for keyword field search using query strings
  • Support for searching across multiple indexes in Zend_Search_Lucene
  • Significant improvements for Zend_Search_Lucene search result match highlighting capabilities
  • Support for page scaling, shifting and skewing in Zend_Pdf
  • Zend_Tag_Cloud
  • Locale support in Zend_Validate_Int and Zend_Validate_Float
  • Phonecode support in Zend_Locale
  • Zend_Validate_Db_RecordExists and _RecordNotExists
  • Zend_Validate_Iban
  • Zend_Validate_File_WordCount

相關新聞與資源如下:

下載與安裝

首先連到官方下載頁面,下載最新版的 Zend Framework (直接下載連結在最底下) ;如果不需要 Dojo 的話,下載 minimal 版本就可以了。

下載回來解開放到任一資料夾 (假設是在 C:\ZF ) ,裡面應該會有 bin 和 library 兩個資料夾。將 C:\ZF\bin 加入系統路徑變數中,讓系統在命令列模式中可以直接找到底下的 zf.bat 檔。

建立專案

接下來進入命令列模式,並將工作路徑切換到 Web 根目錄 (假設為 D:\WEB ) 下;然後輸入:

1
2
D:\WEB\><strong>zf create project first</strong>
Creating project at D:/WEB/first

其中 first 就是專案名稱, Zend Framework 也會用它當做專案的資料夾名稱。透過這行指令,我們就完成了 Zend Framework 專案的建立。

現在連上本地端的 Web Server 瀏覽剛建立好的網站 (http://localhost/first/public/) ,你就能看到:

初始畫面

是不是非常簡單呢?

註:如果你不想讓 public 這個目錄出現,那麼你要就得將它設定為 Web Server 的虛擬網站根路徑;例如 Apache 的 VirtualHost 。

現在 C:\WEB\first 就是我們的專案目錄,後面我們工作的環境就在這裡面。

再將工作路徑切換到 D:\WEB\first 下,你會看到以下的目錄結構:

目錄結構

這個目錄結構是 Zend Framework 預設的,我目前還沒研究出可以改變它的方法。而 .zfproject.xml 則是記錄該專案相關資訊的 XML 檔案,接下來要進行的操作都是依賴這個 XML 檔案,所以請不要刪掉它。

建立 Controller 及 Action

請將工作目錄切換到剛剛建立好的 D:\WEB\first 下,如果要建立 Controller (例如 blog ) 則可以輸入:

1
2
3
4
5
6
D:\WEB\first><strong>zf create controller blog</strong>
Creating a controller at D:\WEB\first/application/controllers/BlogController.php
Creating an index action method in controller blog
Creating a view script for the index action method at D:\WEB\first/application/views/scripts/blog/index.phtml
Creating a controller test file at D:\WEB\first/tests/application/controllers/BlogControllerTest.php
Updating project profile 'D:\WEB\first/.zfproject.xml'

這樣就會在 application/controllers 目錄下建立一個 BlogController.php 。

如果要在 BlogController.php 中加入一個名為 add 的 Action ,則可以輸入:

1
D:\WEB\first><strong>zf create action add blog</strong><br />Creating an action named add inside controller at D:\WEB\first/application/controllers/BlogController.php<br />Updating project profile 'D:\WEB\first/.zfproject.xml'<br />Creating a view script for the add action method at D:\WEB\first/application/views/scripts/blog/add.phtml

這樣 Zend Framework 會自動幫我們在 BlogController.php 中加入一個 addAction 方法,並在對應的 views/scripts/blog 目錄下建立一個 add.phtml 樣版檔。

註: create view 指令經測試還有問題,看來還是得等下一個版本。

心得

透過命令列來建立或設定專案,好像已經是各家 Framework 必備的功能了。雖然 Zend Framework 在這方面起步較晚,但總算是聊勝於無。

不過 Zend Framework 最大的優勢在於所有它的工具都是可以讓我們再自訂過,只要能夠將這些工具的用法與核心研究清楚,相信要駕馭它們也不會是難事了。

Comments