請問一下:Zend Framework 的優點跟特色是什麼?
1.因為Zend Framework用MVC架構來運作,它把顯示(view)和動作(controller)分離,增加程式碼的重用性.更把數據和動作(controller)分離,這使得你無需理會controller如何從後台存取數據.這使得在維護方面,更為容易.
2.有助團隊開發,這使得分工明確.
3.它使用了OOP(物件導向實作),提供空間給你擴充(extends).還有Design Pattern.
4.因為Zend Framework是由Zend團隊開發出來的,經過完整的測試.由一班有經驗的PHP Programmer維護和更新.你完全可以放心使用它.
5.它提供了大量的 High-quality, object-oriented PHP 5 class library,例如:Zend_Log,Zend_Db,Zend_Auth,Zend_Acl..etc.你無需自行擇寫.
還有更多的好處請自行發掘.嘿嘿.
可能你要用一二個月時間去學習它,但他對你將來修改或重寫程式碼所花的時間.是值得的.舉一個例子好了.例如CMS的ACL好了.
當一個member登入後,你要為每一頁去驗證它是否登入,是否有權限作出add,edit,update,publish...etc.
為每一頁寫入或導入header和footer.是不是覺得很煩惱.可能大家巳經習慣.=)
如果用Zend_Controller就可以解決以上的問題.
本來Zend_Controller這個topic會在下一章介紹.不過現在會說一點點.
Zend_Controller係全個架構的核心(kernel),
由frontController->route->predispatch->postdispatch->action
[這個過程將會在下一章詳細說明]現在會簡略說明一下如困解決每頁加入header and footer的方法.
首先建立一個MyPlugin Class,extends Zend_Controller_Plugin_Abstract,然後用上predispatch method,
在prdeispatch method裡頭.call response object
[response object自動由frontController建立],
然後把你的header寫入response最頭,再把footer寫入response最尾.
最後在index.php frontController裡頭加入這個plugin.
當你call index controller 的bar action的時候,它會自動在response裡加入header和footer.每一頁如同.
當然可能你會覺得為什麼一個這麼簡單的東西都要弄到這麼複雜.只是寫入或導入header和footer而以.
可是如果是加入agreement,認證等等.這好好的讓你思考思考.是不是時候把自己的模式改變,Zend Framework只是把你的工作推快和更完美. ^_______________^