簡體   English   中英

Zend Framework如何添加路徑

[英]Zend Framework how to add path

您好,當我嘗試包含任何標准庫時遇到問題。 我已經將 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]: 無法打開 stream: No such file or directory in C:\Zend\Apache2\htdocs\zendproject\library\Zend\Loader. php 在線 146

根據您的錯誤,您拼錯了“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 應用程序,則也不需要在 model 中添加包含文件。 自動加載器應自動包含所需的文件。
確保您的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,那么它包含一些重要信息。

我有本書的更新代碼,所以如果您需要更多幫助...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM