Zend Framework Autoloader - преобразование верблюжьих прописных букв в строчные. - PullRequest
0 голосов
/ 23 июня 2011

У меня проблема (я думаю) с автозагрузчиком в Zend Framework. Я считаю, что это не обязательно неправильное поведение со стороны автозагрузчика, но, возможно, я чего-то упускаю.

В настоящее время у меня APPLICATION_PATH:

/home/amurray/NetBeansProjects/MyProject/application

У меня есть пара раскладок под этим путем, как:

APPLICATION_PATH . /layouts/scripts/layout.phtml
APPLICATION_PATH . /layouts/scripts/layouthome.phtml
etc..

Теперь, когда я пытаюсь переключить раскладку в моем контроллере:

$this->_helper->layout->setLayout('/home/amurray/NetBeansProjects/MyProject/application/layouts/scripts/layouthome');
-or-
$this->_helper->layout->setLayout(APPLICATION_PATH . '/layouts/scripts/layouthome');

Я получаю сообщение об ошибке: не удается найти сценарий, и сообщение об ошибке показывает, что он превращает мои имена каталогов в случае верблюда (в обоих методах, описанных выше) в строчные имена каталогов в нижнем регистре:

eg: NetBeansProjects = net-beans-projects

Очевидные причины, по которым он не может найти путь. Однако, если я не пытаюсь изменить сценарий, макет по умолчанию (layout.phtml) работает нормально (установлен в моей конфигурации ini)

Я думаю, что автозагрузчик вызывает эту проблему, но я не уверен, почему по умолчанию работает, но переключение заставляет автозагрузчик изменять каталоги.

1 Ответ

2 голосов
/ 23 июня 2011

вы просто используете

$this->_helper->layout->setLayout('layout.phtml'); //no paths

и задаете пути макета в application.ini (или начальной загрузке)

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
...