Zend framework zend set/getScriptPath问题:

Zend framework zend set/getScriptPath问题:,zend-framework,Zend Framework,我正在阅读一本关于“开始Zend框架”的书,并且正在努力让其中一个例子起作用 目的是使用setScriptPath绕过标准目录结构。本教程要求您将动作的关联视图脚本保存在项目目录的其他位置,而不是将其存储在脚本目录中。我已将其存储在应用程序的根目录中。代码如下: public function updateAction() { //get the artists $artist = array("Thievery Corporation","The Eagles","El

我正在阅读一本关于“开始Zend框架”的书,并且正在努力让其中一个例子起作用

目的是使用setScriptPath绕过标准目录结构。本教程要求您将动作的关联视图脚本保存在项目目录的其他位置,而不是将其存储在脚本目录中。我已将其存储在应用程序的根目录中。代码如下:

public function updateAction()
    {
    //get the artists
    $artist = array("Thievery Corporation","The Eagles","Elton John");

    //set view variables
    $this->view->artists = $artist;

    //locate the view
    $this->view->setScriptPath('/application/');
    $this->render("update");
    }
但是,当我尝试访问www.domain.com/account/update时,它说找不到脚本。我需要知道的是如何定义文件夹相对于框架结构的位置。我在现有脚本文件夹中的脚本上使用了getScriptPath,但它们返回绝对硬盘路径,我不确定这是否正确-当然,我不能从update.phtml脚本使用getScriptPath,因为我无法加载它


任何zend专家都能帮我吗?

解决这个问题的最简单方法是在索引文件中定义一个常量,其中包含应用程序的绝对路径

define('APPLICATION_PATH', '/path/to/your/application/');

//Bootstrap is called somewhere here.
这允许您在需要设置/添加脚本路径时使用它

$this->view->setScriptPath(APPLICATION_PATH);
//$this->view->addScriptPath(APPLICATION_PATH . 'some/other/dir/');

希望这有帮助。

解决这个问题的最简单方法是在索引文件中定义一个常量,其中包含应用程序的绝对路径

define('APPLICATION_PATH', '/path/to/your/application/');

//Bootstrap is called somewhere here.
这允许您在需要设置/添加脚本路径时使用它

$this->view->setScriptPath(APPLICATION_PATH);
//$this->view->addScriptPath(APPLICATION_PATH . 'some/other/dir/');
希望这有帮助。

我更喜欢

define('APPLICATION_PATH', dirname(__FILE__) . '/../application/');
在我的
/public/index.php
文件中。因为它是可重用的,而且很简单:)

我更喜欢它

define('APPLICATION_PATH', dirname(__FILE__) . '/../application/');

在我的
/public/index.php
文件中。因为它是可重用的,而且是傻瓜式的:)

doh,我错了——嗯,不是真的。我需要实例化Zend_View对象-教程没有在操作代码中显示这一点。我的坏消息-谢谢你的帮助!如果您只是想添加到堆栈中,而不是替换当前路径,那么也可以使用$this->view->addScriptPath(…),doh,我的错误-嗯,不是真的。我需要实例化Zend_View对象-教程没有在操作代码中显示这一点。我的坏消息-谢谢你的帮助!如果只想添加到堆栈而不是替换当前路径,也可以使用$this->view->addScriptPath(…)。