Doctrine의 새로운 기능으로, 설명서의 예제를 따르고 있습니다. Repository 클래스 (예 : UserRepository.php)를 만들고 EntityRepository 클래스를 확장하려고하면 다음 오류 메시지가 표시됩니다. 치명적인 오류 : 'Doctrine \ ORM \ EntityRepository'클래스가 C : \ xampp \ htdocs \ excap \ repositories에 없습니다. \이 내 저장소 클래스 라인 (10)Doctrine 오류 : 'Doctrine ORM EntityRepository'클래스를 찾을 수 없습니다.
에 UserRepository.php :
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;
});
?>
클래스 페이지에 doctrine 클래스를 포함하고 있습니까? – Blaster
Composer autoload.php를 사용하고 있습니다 (아마도 필요한 모든 클래스를로드하고있을 것입니다). 다른 모든 것들이 잘 작동하고, 모든 엔티티를 사용할 수 있으므로 문제없이 유지할 수 있습니다. – PachinSV