Zend Framework如何添加路径

时间:2012-04-08 06:24:42

标签: php zend-framework

当我尝试包含任何标准库时,我有问题。我已将Zend文件夹导入此路径

/project
    /library
        /

这是我的剧本:

 require_once 'Zend/Db/Table/Abstract.php';

 require_once APPLICATION_PATH.'/models/ContentNode.php';

class Application_Model_Page extends Zend_Db_Table_Abstract
{


    public function createPage ($name, $namespace, $parentId = 0)
    {
        //create the new page
        $row = $this->createRow();
        $row->name = $name;
        $row->namespace = $namespace;
        $row->parent_id = $parentId;
        $row->date_created = time();
        $row->save();
        // now fetch the id of the row you just created and return it 
        $id = $this->_db->lastInsertId();
        return $id;
    }

这是我收到的错误消息

  

警告:include_once(Zend \ Db \ Table \ Abstarct.php)   [function.include-once]:无法打开流:没有这样的文件或   目录   第146行的C:\ Zend \ Apache2 \ htdocs \ zendproject \ library \ Zend \ Loader.php

2 个答案:

答案 0 :(得分:2)

根据您的错误,您错误地拼写了'abstract'

Warning: include_once(Zend\Db\Table\Abstarct.php) [function.include-once]:
 failed to open stream: No such file or directory in
 C:\Zend\Apache2\htdocs\zendproject\library\Zend\Loader.php on line 146

如果您将Zend Framework用作mvc应用程序,也不需要在模型中添加包含文件。自动装带器应自动包含所需文件 确保您的application.ini包含以下内容:
 includePaths.library = APPLICATION_PATH "/../library"
我永远不会记得当ZF在库中时是否需要添加命名空间,所以我认为它是必需的。您可以尝试将行autoloaderNamespaces[] = "Zend_"添加到a​​pplication.ini中,它不会有任何损害,可能有助于确保包含Zend库。  以便正确包含库。然后您的库文件夹应如下所示:

/project_path
    /library
        /Zend

看起来您正在浏览“Pro Zend Framework Techniques”一书中的代码。本书使用了Zend Framework 1.8版。您可能正在使用ZF 1.11。如果是这样,有几件事需要注意,因为自1.8版以来有一些变化。如果你是ZF的新手,这不应该是你的第一本书,因为它会让你疯狂地让事情发挥作用,如果你熟悉ZF它会包含一些很好的信息。

我有本书的更新代码,所以如果您需要更多帮助......

答案 1 :(得分:1)

set_include_path(get_include_path() . PATH_SEPARATOR . 'ZEND/FRAMEWORK/PATH');