2012-07-27 73 views
1

我想爲我公司的ZendFramework和Doctrine安裝設置一個探查器。現在我在底部有一個欄,它顯示了在開發環境中提供了一些基本的計時和查詢計數(很像Symfony分析器欄)。我想要做的是將所有這些信息和更多信息存儲在SQLite數據庫中,並允許在Symfony允許的分析器中查看該信息。包含一個ZendFramework庫的模塊

有沒有一種方法可以讓我在公司的庫中包含一個模塊,在該庫中可以使用該分析器的所有代碼?理想情況下,我希望安裝它,以便開發人員可以鍵入「domainname.com/CompanyProfiler」,並向他們展示全屏分析器。目前似乎沒有一種方法可以讓我在沒有新模塊的情況下進行佈線。

編輯:看到關於setControllerDirectory的答案後,我看着前端控制器方法,並找到addModuleDirectory,這聽起來像我需要的。但我無法讓它工作。

$frontController->addModuleDirectory(APPLICATION_PATH . '/../library/Company/modules'); 

如果我以後做一個getControllerDirectory,我看到:

'profiler' => '{really long correct path}../library/Company/modules\profiler\controllers' 

在 「控制器」 文件夾中,我有IndexController.php與類名:

class Profiler_IndexController extends Zend_Controller_Action 

但是,如果我嘗試去URL「/ profiler」,我得到一個控制器未找到錯誤。任何想法我做錯了什麼?

如果我var_dump錯誤控制器中的錯誤,我可以看到它顯然試圖訪問默認模塊。

回答

0

嘗試通過放置在你的引導下增加了模塊的直接路線:

protected function _initRoutes() 
{ 
    $router = Zend_Controller_Front::getInstance()->getRouter(); 

    // Route for profiler 
    $route = new Zend_Controller_Router_Route(
     'profiler/:controller/:action/*', 
     array(
      'module'  => 'profiler', 
      'controller' => 'index', 
      'action'  => 'index' 
     ) 
    ); 
    $router->addRoute('profiler', $route); 
} 
1

如果我理解正確,你還想在庫中有控制器?如果是這樣,您可以設置ZF使用setControllerDirectory()查找所有控制器在庫(或其他地方)中的CompanyProfiler模塊。