2011-11-30 3 views
4

Я работаю над пакетом, в котором я использую Doctrine CouchDB ODM. Как автозагрузка и регистрация пространств имен изнутри пакета? Вот соответствующие рабочие линии от app/autoload.php, что мне нужно двигаться:Symfony2: autoload/register namespaces from the Bundle

use Symfony\Component\ClassLoader\UniversalClassLoader; 

$loader->registerNamespaces(array(
    // ... 
    'Doctrine\\CouchDB' => __DIR__.'/../vendor/doctrine-odm/lib', 
    'Doctrine\\ODM\\CouchDB' => __DIR__.'/../vendor/doctrine-odm/lib', 
)); 

Спасибо!

+0

Почему именно вы _need_, чтобы переместить их? –

+0

Вам обычно не нужно это делать. Просто разместите объявления в своем '' 'app/autoload.php''' и, если пакет будет доступен для публики, добавьте информацию в ваш README. –

+0

Идея заключалась в том, чтобы избавить людей от реализации этого пакета, чтобы добавить материал в свое приложение. @ alessandro1997 подразумевает, что добавление в 'app/autoload.php' - это единственный способ сделать это, что объясняет, почему я не нашел никаких инструкций! – yitznewton

ответ

2

Композитор был добавлен для решения этой проблемы: http://knplabs.com/blog/symfony2-with-composer

+0

Предоставленная ссылка больше не существует работает. Можете ли вы добавить/вставить соответствующий ответ здесь? – Razvan

+0

Хех, это немного устарело, поскольку Composer стал стандартом сообщества PHP для управления зависимостями, вытесняя PEAR https://getcomposer.org/ – yitznewton