Zend_Controller в соответствии с соглашением об именовании PEAR - PullRequest
1 голос
/ 18 декабря 2008

Я занимаюсь разработкой веб-приложения с использованием Zend Framework. Мне нравится, как работает все автозагрузка, однако мне не очень нравится, как Zend_Controller называет контроллеры по умолчанию. Я ищу способ, позволяющий zend_controller понять мой класс контроллера с именем Controller_User, хранящийся в {$ app} /Controller/User.php. Могу ли я сделать это с наименьшим количеством дополнительного кода?

Ответы [ 2 ]

2 голосов
/ 18 декабря 2008

Это, конечно, не пошаговый ответ, но я полагаю, что вы можете выполнить то, что хотите, подклассифицировать стандартный класс диспетчера и внести несколько изменений в функции, которые работают с каталогом контроллера и объектами контроллера. Справочник по ZF - Диспетчер подклассов

0 голосов
/ 30 марта 2009

диспетчер подкласса (цитируется с 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); 
    } 
} 
...