У меня небольшая проблема с Classloader, добавленным в проект Doctrine 2.
У меня есть простая структура каталогов, как это:
- config (файл начальной загрузки)
- HTML (документация с шаблонами / изображениями / JS и т. Д.)
- PHP
- Сущности (учение 2 сущности)
- Ответы (некоторые транспортные объекты)
- Сервисы (обработка API и бизнес-логики - как сессионные компоненты в Java)
Каждый из подкаталогов php принадлежит своему пространству имен (так же, как имя каталога).
Я хочу использовать вышеупомянутый загрузчик классов для загрузки этих трех разных пакетов, поэтому мой загрузчик выглядит так:
$classLoader = new \Doctrine\Common\ClassLoader('Doctrine', $lib );
$classLoader->register();
$responsesCL = new \Doctrine\Common\ClassLoader('Responses', __DIR__.'/../php');
$responsesCL->register();
$entitiesCL = new \Doctrine\Common\ClassLoader('Entities', __DIR__.'/../php');
$entitiesCL->register();
$servicesCL = new \Doctrine\Common\ClassLoader('Services', __DIR__.'/../php');
$servicesCL->register();
Bold DIR на самом деле __ DIR __
php-константа.
Теперь я ссылаюсь в своем пакете услуг на объекты, и именно здесь начинается проблема, по некоторым причинам я получаю ошибки из-за проблемы с файлом, не найденным, например:
Не удалось открыть
'/Var/www/projects/PlatformManagement/config/../php/Services/Entities/User.php'
(Include_path = ': / USR / доли / груша: / USR / доли / PHP')
в
/ USR / доли / груша / Doctrine / Общие / ClassLoader.php
на линии 148
Почему-то в пути есть дополнительные «Службы», и, очевидно, это недопустимый путь. Я немного озадачен, почему этот дополнительный каталог там? Я трижды проверил все пространства имен, звонки, и они в порядке.
Мне нужна другая пара глаз, чтобы посмотреть, я полагаю, что я упускаю что-то очевидное здесь, но не могу определить это: |
О, это последняя бета-версия Doctrine 2 (4) и php 5.3.3 на fedora, если это поможет.
Спасибо,
Грег