2012-01-10 42 views
1

我正在爲項目使用zend模塊化結構。我有以下目錄結構爲zend模塊化結構創建公共控制器類

application/ 
    modules/ 
    default/ 
     controllers/ 
      IndexController.php 
      FooController.php 
     models/ 
     views/ 
      scripts/ 
       index/ 
       foo/ 
      helpers/ 
      filters/ 
    blog/ 
     controllers/ 
      IndexController.php 
     models/ 
     views/ 
      scripts/ 
       index/ 
      helpers/ 
      filters/ 
    news/ 
     controllers/ 
      IndexController.php 
      ListController.php 
     models/ 
     views/ 
      scripts/ 
       index/ 
       list/ 
      helpers/ 
      filters/ 

我想創建一個共同的控制器類,而我會在所有模塊的控制器擴展

如我婉噸至創建一個類,像下面

class My_Common extends Zend_Controller_Action 
{ 

    public function init() 
    { 

    } 
} 

在所有模塊的控制器中,我都會將其擴展爲

class News_IndexController extends My_Common 
{ 
    public function init() 
{ 

} 

} 

我可以做到這一點嗎?請幫忙 。我試圖在默認控制器中創建它,但它不工作。

回答

1

您可以通過將我的名稱空間添加到庫文件夾來輕鬆實現此目的。如果你使用Zend庫中大腦的工作文件夾結構是這樣的:

 
the_common_folder_structure/ 
.../ 
library/ 
    zend/ 
    myNamespace/ 
     Controller/ 
     Common.php

然後在你的模塊只是延長MyNamespace_Controller_Common。

0

我會做它的方式是圖書館目錄中添加一個「我的」文件夾,然後複製Zends類結構,例如:

創建文件

庫/我的/控制器/ action.php的使用類名:My_Controller_Action

確保在application.ini文件中包含:autoloaderNamespaces.my =「My_」,這​​包括My目錄到自動加載器。

然後,您應該可以從任何模塊控制器擴展My_Controller_Action。

相關問題