Я разрабатываю веб-приложение с использованием рамки zend. Мне нравится, как все автозагрузка работает, однако мне не очень нравится, как Zend_Controller по умолчанию указывает на контроллеры. Я ищу способ заставить zend_controller понять мой класс контроллера с именем Controller_User, хранящийся в {$ app} /Controller/User.php. В любом случае, я могу сделать это с меньшим количеством дополнительного кода?Zend_Controller После соглашения об именах PEAR
1
A
ответ
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