2012-07-05 90 views
0

Possible Duplicate:
Doctrine error: Class 'Doctrine\ORM\EntityRepository' not foundEntityRepository

我在新的學說,我在下面的文檔中的例子。我創建了我的實體,一切正常,直到我創建了一個Repository。我有一個名爲User和UserRepository的實體。

但是,當我嘗試使用用戶存儲庫時,我收到錯誤消息:致命錯誤:Class'Doctrine \ ORM \ EntityRepository'未在C:\ xampp \ htdocs \ excap \ repositories \ 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; 
}); 

?> 

回答

0

問題解決了。問題出在bootstrap.php文件中。我在加載bootstrap_doctrine.php之前加載了實體;就這樣。

+0

是的。這將做到這一點。 – Craige

1

隨着你給的信息有限,我冒昧猜測,你有一個錯誤配置的自動加載;它似乎不能自動包含EntityRepository類。

沒有任何進一步的信息,我真的不能幫你除了指向你Doctrine's documentation on the autoloader

+0

謝謝Craige,我應該發佈哪些其他信息?自動裝載機的內容? – PachinSV

+0

至少,我們需要查看自動加載器/引導程序文件。它也不會傷害看到該文件實例化UserRepository。 – Craige

+0

在文檔中的列表中提到:Autoloading由Composer負責。您只需將作曲家自動載入文件包含在您的項目中: <?php // Include Composer Autoload require_once「vendor/autoload.php」; – PachinSV

相關問題