私は Doctrine2 を初めて使用し、カスタム リポジトリをセットアップしようとしていますが、Google で抜け出せないように見えるエラーが発生しています。
エンティティは次のとおりです。
// entities/Customer.php
namespace Entities;
/** @Entity (repositoryClass="Repositories\CustomerRepository")
* @Table (name="customer") */
class Customer { /* ... */ }
そして、ここにリポジトリがあります:
// repositories/CustomerRepository.php
namespace Repositories;
use Doctrine\ORM\EntityRepository;
class CustomerRepository extends EntityRepository {
public function getAllEnterprises() {
return $this->_em->createQuery(
'SELECT c FROM Customer c WHERE column_x IS NOT NULL')->getResult();
}
}
PHP は私に怒鳴り、次のように言います。
PHP致命的なエラー: 10行目のentities/Customer.phpでクラスEntities\Customerを再宣言できません
PHP 5.4.6、コンポーザ経由でインストールされたドクトリン。
ブートストラップ.php:
// bootstrap.php
if (!class_exists('Doctrine\Common\Version', false)) {
require_once "bootstrap_doctrine.php";
}
require_once "entities/Customer.php";
require_once "repositories/CustomerRepository.php";
require_once "entities/Location.php";
bootstrap_doctrine.php
// bootstrap_doctrine.php
use Doctrine\ORM\Tools\Setup;
require_once "vendor/autoload.php";
// Create a simple "default" Doctrine ORM configuration
$isDevMode = true;
$config = Setup::createAnnotationMetadataConfiguration(
array(__DIR__."/entities"), $isDevMode);
// database configuration parameters
$conn = array(
'driver' => 'pdo_mysql',
'host' => 'localhost',
'user' => 'someuser',
'password' => 'somepassword',
'dbname' => 'somename',
'unix_socket' => '/var/run/mysqld/mysqld.sock',
);
// obtaining the entity manager
$entityManager = \Doctrine\ORM\EntityManager::create($conn, $config);
私は何を間違っていますか?