0

重複の可能性:
Doctrineエラー:クラス'Doctrine \ ORM\EntityRepository'が見つかりません

私はDoctrineを初めて使用し、ドキュメントの例に従っています。エンティティを作成しましたが、リポジトリを作成するまですべてが正常に機能しています。UserとUserRepositoryというエンティティがあります。

しかし、ユーザーリポジトリを使用しようとすると、次のエラーメッセージが表示されます。致命的なエラー:クラス'Doctrine \ ORM \EntityRepository'がC:\ xampp \ htdocs \ excap \ repository\UserRepository.phpの10行目に見つかりません

use Doctrine\ORM\EntityRepository;

/**
 * Description of UserRepository
 *
 * @author Mario
 */
class UserRepository extends EntityRepository
{ 

どうすればこれを解決できますか?

<?php
//bootstrap_doctrine.php
$isDevMode = true;
use Doctrine\ORM\Tools\Setup;
require_once 'vendor/autoload.php';

$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__.'/entities'), $isDevMode);
$conn = array(
    'driver' => 'pdo_mysql',
    'user' => 'mydbuser',
    'password' => 'mydbpassword',
    'dbname' => 'mydbname'
);

$entityManager = \Doctrine\ORM\EntityManager::create($conn, $config);
?>

<?php
//boostrap.php
//Entities
require_once 'entities/User.php';
require_once 'entities/Gender.php';
require_once 'entities/AccessPoint.php';

//Repositories
require_once 'repositories/UserRepository.php';

if(!class_exists("Doctrine\Common\Version", FALSE))
{
    require_once 'bootstrap_doctrine.php';
}
?>

<?php
// autoload.php generated by Composer
if (!class_exists('Composer\\Autoload\\ClassLoader', false)) {
    require __DIR__ . '/composer' . '/ClassLoader.php';
}

return call_user_func(function() {
    $loader = new \Composer\Autoload\ClassLoader();
    $composerDir = __DIR__ . '/composer';

    $map = require $composerDir . '/autoload_namespaces.php';
    foreach ($map as $namespace => $path) {
        $loader->add($namespace, $path);
    }

    $classMap = require $composerDir . '/autoload_classmap.php';
    if ($classMap) {
        $loader->addClassMap($classMap);
    }

    $loader->register();

    return $loader;
});

?>
4

2 に答える 2

1

あなたが提供した限られた情報で、私はあなたが誤って構成されたオートローダーを持っていると思い切って思います。EntityRepositoryクラスを自動的に含めることができないようです。

これ以上の情報がなければ、オートローダーに関するDoctrineのドキュメントを紹介する以外に、私は本当にあなたを助けることはできません。

于 2012-07-05T05:34:26.097 に答える
0

問題が解決しました。問題は bootstrap.php ファイルにありました。bootstrap_doctrine.php をロードする前にエンティティをロードしていました。それで全部です。

于 2012-07-05T12:48:05.573 に答える