ReflectionException,类名\子名不存在

时间:2012-04-07 02:29:24

标签: php doctrine-orm entities

我安装了CodeIgniter 2 + Doctrine 2的'vanilla'。

我的教程Entity.User.dcm.yml和Entity.Article.dcm.yml文件在CLI中工作正常,通过/ php doctrine-cli.php orm:generate-entities模型和php doctrine-cli.php orm :generate-proxies没有大惊小怪,没问题。

但是当我得到蛙队并决定制作新的Project1.User.dcm.yml和Project1.cartdata.dcm.yml时,我通过了生成实体,但是当我运行生成代理时,我得到了:

  

警告:class_parents():类Project1 \ Users不存在,无法在第40行的/../applicationFolder/libraries/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php中加载

     

警告:array_reverse()期望参数1为数组,布尔值在第231行的/../applicationFolder/libraries/Doctrine/ORM/Mapping/ClassMetadataFactory.php中给出

     

警告:在/../ applicationFolder / libraries / Doctrine / ORM / Mapping中为foreach()提供的参数无效

我尝试了大量的修修补补,我尝试制作名称Entities.Project1.User.dcm.yml和类似,但没有运气。如果我回到我的教程实体文件,那么一切正常。据我所知,我确保精细的内部结构是一致的,Project1\User等等

我错过了一些简单易行的东西吗?或者是否需要进行其他一些配置更改以获得允许这些的原则?

1 个答案:

答案 0 :(得分:1)

在Doctrine.php中:

// load the entities
    $entityClassLoader = new \Doctrine\Common\ClassLoader('Entities', APPPATH.'models');
    $entityClassLoader->register();
    $entityClassLoader = new \Doctrine\Common\ClassLoader('MyNamespace1', APPPATH.'models');
    $entityClassLoader->register();
    $entityClassLoader = new \Doctrine\Common\ClassLoader('MyNamespace2', APPPATH.'models');
    $entityClassLoader->register();