私は最初のDoctrine 2.0プロジェクトにエンティティをロードするのにかなり時間をかけてきました。私のエンティティクラスの読み込みを除いて、すべてうまく動作します(ロードする他のクラスを取得し、DBALとの接続は成功します)。Doctrine 2.0:エンティティのためにクラスローダーを取得する
必要な情報をお知らせします。私は
<?php
$sRoot = "/home/..../public_html/doctrinetest";
$classLoader = new \Doctrine\Common\ClassLoader('doctrinetest\entities', $sRoot.'/doctrinetest/entities');
$classLoader->register(); // register on SPL autoload stack
でそれをロードしようとしている私のブートストラップファイルでこの
public_html
-> docrine test
-> entities
-> User.php
-> Video.php
のようなものです私はDoctrineはtarballの方法
私のフォルダの構造を谷インストール
名前空間として、私はクラスを無視する前に次の行を入れます
namespace doctrinetest\entities;
私はその後、私のスキーム
$tool = new \Doctrine\ORM\Tools\SchemaTool($em); $classes = array( $em->getClassMetadata('Video'), $em->getClassMetadata('User') ); $tool->createSchema($classes);
を生成するには、コマンドを実行しようと、私はエラー
Warning: class_parents() [function.class-parents]: Class Video does not exist and could not be loaded in /home/..../public_html/doctrine2-tarball/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php on line 40
はこの1つの おかげで私を助けてください取得、 Pj
名前空間も追加する必要があると思いますので、 '$ em-> getClassMetadata( 'doctrinetest \ entities \ Video')' –