Zend Framework Autoloader - 将驼峰帽转换为小写虚线

时间:2011-06-23 16:45:07

标签: zend-framework layout camelcasing autoloader

我在使用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 个答案:

答案 0 :(得分:2)

你只需使用

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

并在application.ini(或bootstrap)中设置布局路径

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