2013-01-25 173 views
1

是否可以在某些外部腳本或系統中加載Zend Framework?在外部腳本中加載Zend Framework

例如,我想在CMS中使用ZF全部功能。

您的幫助,將不勝感激。

+0

什麼是您的CMS?如果它不是祕密...... :) –

+0

這是完全可能的,只需在您的項目文件系統中爲ZF創建一個文件夾,並將ZF的館藏作爲其他任何其他文件夾, –

回答

1

在任何PHP應用程序中都可以包含ZF。正如ZF團隊在手冊中指出的那樣,ZF組件是鬆耦合的,因此您只能在應用程序中使用庫的某些部分。

我通常會做的是將ZF的自動加載器堆疊到spl_autoloader上,並僅使用ZF自動加載器註冊「Zend_」名稱空間。這樣,如果您的CMS自動加載器未能包含您正在使用的ZF類,那麼將繼續使用Zend的自動加載器來完成這項工作。

如果您想在您的CMS中使用ZF的MVC來處理某些請求,那麼也可以使用ZF的MVC,雖然有點棘手。

我確實在Joomla 2.5組件中包含了ZF。在大多數CMS中,任何模塊,組件,插件等都通過包含一個文件來執行,並且該文件中的任何內容都將被執行。

隨着Joomla我簡單地把Zend_Controller_Front和調度它在上面提到的文件。我在preDispatch鉤子(方法)上附加了一個插件(將Zend_Controller_Plugin_Abstract擴展到前端控制器),並在該鉤子中手動設置控制器,操作和模塊(如果有),從php的$ _GET或$ _POST中獲取信息,具體取決於您的CMS如何處理請求。

在腳本的開頭設置ZF自動加載器並最終取消設置會執行包含ZF工作所需文件的工作。

不要忘記在PHP的包含路徑中包含ZF。

希望這個混亂的帖子幫助:)