2011-06-23 47 views
0

我在Zend Framework中遇到了問題(我認爲)與自動加載器。我相信這不一定是自動加載器的不正確行爲,但可能是我缺少的東西。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配置中設置)

我在考慮autoloader導致此問題,但我不確定爲什麼默認工作,但切換導致自動加載器更改目錄。

+1

你只需要使用'$本 - > _ helper->佈局 - > setLayout的('佈局.phtml');'並在application.ini或bootstrap中設置佈局路徑 – venimus

+0

@venimus我知道我有一個大腦凍結的時刻,我之前做過,我不知道我爲什麼要添加整個路徑。如果你把這個答案放在答案中,我會給你一個複選標記。 –

回答

2

你只是用

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

,並設置佈局路徑中的application.ini(或啓動)

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