Zend_Controller遵循PEAR命名约定

时间:2008-12-18 15:54:14

标签: php zend-framework zend-controller

我正在使用zend框架开发一个web应用程序。我喜欢所有自动加载的工作原理但是我并不喜欢Zend_Controller默认命名控制器的方式。我正在寻找一种方法来使zend_controller能够理解存储在{$ app} /Controller/User.php中的名为Controller_User的控制器类。无论如何,我可以用最少量的额外代码来做到这一点吗?

2 个答案:

答案 0 :(得分:2)

这肯定不是一步一步的答案,但我相信您可以通过继承标准调度程序类来完成您想要的任务,并对处理控制器目录和控制器对象的函数进行一些更改。 ZF Ref Guide - Subclassing Dispatcher

答案 1 :(得分: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); 
    } 
}