2008-12-18 74 views
1

我正在開發一個使用zend框架的web應用程序。我喜歡所有的自動加載工作,但我並不喜歡Zend_Controller默認命名控制器的方式。我正在尋找一種方法來啓用zend_controller來理解存儲在{$ app} /Controller/User.php中的名爲Controller_User的控制器類。無論如何,我可以用最少量的額外代碼來做到這一點嗎?Zend_Controller遵循PEAR命名約定

回答

0

一個子類的分派器(從http://cslai.coolsilon.com/2009/03/28/extending-zend-framework/引述)

class Coolsilon_Controller_Dispatcher 
    extends Zend_Controller_Dispatcher_Standard { 
    public function __construct() { 
     parent::__construct(); 
    } 

    public function formatControllerName($unformatted) { 
     return sprintf( 
      'Controller_%s', ucfirst($this->_formatName($unformatted)) 
     ); 
    } 

    public function formatActionName($unformatted) { 
     $formatted = $this->_formatName($unformatted, true); 
     return strtolower(substr($formatted, 0, 1)) . substr($formatted, 1); 
    } 
} 
2

這當然不是一步一步的答案,但我相信你可以通過繼承標準調度器類來完成你想要的任務,並對處理控制器目錄和控制器對象的函數進行一些更改。 ZF Ref Guide - Subclassing Dispatcher