2012-04-07 1 views
1

У меня есть «ваниль» установку CodeIgniter 2 + Doctrine 2.ReflectionException, имя класса подимени не существует

Мой учебник Entity.User.dcm.yml и Entity.Article.dcm.yml файлы работали только отлично в CLI, через/php doctrine-cli.php orm: модели сгенерированных сущностей и php doctrine-cli.php orm: generate-proxies Нет суеты, никаких проблем.

Но когда я получил лягушачьи и решил сделать новый Project1.User.dcm.yml и Project1.cartdata.dcm.yml я получил через порождающую-сущности в порядке, но когда я пытался генерировать-прокси я получил:

Предупреждение: class_parents(): Класс Project1 \ Users не существует и не может быть загружен в /../applicationFolder/libraries/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php на линии 40

Предупреждение : array_reverse() ожидает, что параметр 1 будет массивом, boolean задан в /../applicationFolder/libraries/Doctrine/ORM/Mapping/ClassMetadataFactory.php в строке 231

Предупреждение: Неверный аргумент поставляются для Еогеасп() в /../applicationFolder/libraries/Doctrine/ORM/Mapping

Я пытался тонны мастерить, я попытался сделать имена Entities.Project1.User.dcm .yml и тому подобное, но не повезло. Если я вернусь к учебным файлам Entities, то все будет хорошо. Я убедился, что тонкие внутренние детали соответствуют, насколько я могу судить, Project1\User и т. Д.

Я пропустил что-то простое и легкое? Или есть какие-то другие изменения конфигурации, необходимые для того, чтобы доктрина позволила им это сделать?

ответ

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();