Я использую ZF с Doctrine 2 с ресурсом приложения Bisna, чтобы связать их вместе. До сих пор я помещал свои сущности, прокси, репозитории и служебные слои в свою папку приложений в библиотеках. Так, например, у моих сущностей будет пространство имен App \ Entity. Это сработало нормально, но кажется странным, что не все мои сущности находятся в каталоге моделей макета ZF.
Итак, теперь я пытаюсь переместить все в каталог моделей, и ZF больше не может найти мои классы. Я позаботился о том, чтобы изменить прокси и сопоставления пространств имен и каталогов в моей конфигурации application.ini, чтобы они соответствовали новым местоположениям и пространствам имен (я изменил свое пространство имен сущностей на Entity и сделал такие же соответствующие изменения для репозиториев и уровня обслуживания.
В моем контроллере входа в систему я вызываю UserService:
$userService = new Service\UserService($em);
Я получаю фатальную ошибку, говоря, что класс не может быть найден. Есть идеи, что мне здесь не хватает?
Неустранимая ошибка: класс Service \ UserService не найден ...
Пространство имен в моем классе UserService установлено на Service. Этот файл находится в application / models / Service / UserService.php.
namespace Service;
class UserService
{
...
}
Вот несколько фрагментов из моего application.ini, показывающих мои каталоги и пространства имен
resources.doctrine.orm.entityManagers.default.proxy.namespace = "Proxy"
resources.doctrine.orm.entityManagers.default.proxy.dir = APPLICATION_PATH "/models/Proxy"
resources.doctrine.orm.entityManagers.default.metadataDrivers.0.mappingNamespace = "Entity"
resources.doctrine.orm.entityManagers.default.metadataDrivers.0.mappingDirs[] = APPLICATION_PATH "/models/Entity"