当我尝试包含任何标准库时,我有问题。我已将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
答案 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_"
添加到application.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');