因此,我一直在設計一個運行在Zend Framework 1.11上的應用程序,並且任何程序員都會在他看到重複的功能時想要去構建具有上述功能的基類。如何將您自己的庫添加到Zend Framework中
現在我的計劃是建立一個庫'我',所以我在應用程序的庫目錄中創建一個文件夾。所以它看起來像這樣
Project
Application
docs
library
My
public
test
所以我創造了我的文件夾中BaseController類,然後決定安排的IndexController在我的應用程序擴展BaseController。
的Basecontroller看起來是這樣的:
class My_BaseController extends Zend_Controller_Action
{
public function indexAction()
{
$this->view->test = 'Hallo Wereld!';
}
}
而且索引控制器看起來是這樣的:
class WMSController extends My_BaseController
{
public function indexAction()
{
parent::indexAction();
}
}
正如勸通過了大量的資源我嘗試添加的命名空間在應用程序庫中。 ini使用該行
autoloadernamespaces.my = 「My_」
但是,當我嘗試運行此應用程序對我收到以下錯誤
Fatal error: Class 'My_BaseController' not found in C:\wamp\www\ZendTest\application\controllers\IndexController.php
我在這裏錯過了什麼嗎?或者我只是一個木偶,應該嘗試一種不同的方法?
在此先感謝!
只需簡單提一下,擴展Zend_Controller_Action幾乎總是一個壞主意 - 通常最好是創建助手或插件。我從來沒有找到一個用於擴展Zend_Controller_Action的用例,這個用例不容易被混合資源,幫助器和插件測試/注入。 – shrikeh
是的,我同意100%,但這個問題是關於添加自己的庫,使用OP自己的例子似乎更容易。謝謝,這裏有評論可能是好的。 – vascowhite
感謝您回覆我的問題。我對Zend Framework的工作原理頗爲陌生,因此我不熟悉常用的最佳實踐。 @Shrikeh,我將有一個更詳細的看助手和插件,感謝警告:) –