0

こんにちは私は標準ライブラリを含めようとすると問題が発生します。私はすでに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]:ストリームを開くことができませんでした:C:\ Zend \ Apache2 \ htdocs \ zendproject \ library \ Zend\Loaderにそのようなファイルまたはディレクトリはありません。 146行目のphp

4

2 に答える 2

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アプリケーションとして使用している場合は、モデルにインクルードファイルを追加する必要はありません。オートローダーには、必要なファイルが自動的に含まれている必要があります。次の行が含まれている
ことを確認してください 。ZFがライブラリにあるときに名前空間を追加する必要があるかどうかは思い出せないので、必要だと思います。この行をapplication.iniに追加してみてください。問題はなく、Zendライブラリが含まれていることを確認するのに役立つ場合があります。ライブラリが適切に含まれるようにします。次に、ライブラリフォルダは次のようになります。application.ini
includePaths.library = APPLICATION_PATH "/../library"
autoloaderNamespaces[] = "Zend_"

/project_path
    /library
        /Zend

「ProZendFrameworkTechniques」という本のコードを実行しているようです。この本では、ZendFrameworkバージョン1.8を使用しました。ZF1.11を使用している可能性があります。その場合、バージョン1.8からいくつかの変更があったため、注意すべき点がいくつかあります。ZFを初めて使用する場合は、これが最初の本ではありません。ZFに精通している場合は、いくつかの優れた情報が含まれています。

私はこの本の更新されたコードを持っているので、さらに助けが必要な場合は...

于 2012-04-08T07:33:46.570 に答える
1
set_include_path(get_include_path() . PATH_SEPARATOR . 'ZEND/FRAMEWORK/PATH');
于 2012-04-08T06:28:31.100 に答える