Как добавить пользовательские пакеты в symfony, которые размещены локально?

Предположим, я сделал собственный пакет Symfony, например, небольшой ORM, и теперь я хочу включить этот пакет и зарегистрировать его в AppKernel, в настоящее время пакет находится в папке Vendor. Итак, что я сделал в первую очередь, так это добавил его в ядро

new Virka\ORMBundle\VirkaORMBundle(),

потом попробовал добавить, в автозагрузчик вот так:

$loader->add('Virka',__DIR__.'/../vendor/VirkaORMBundle()');

Теперь Symfony выдает мне сообщение об ошибке:

FatalErrorException: Error: Class 'Virka\ORMBundle\VirkaORMBundle' not found in C:\wamp\www\Symfony\app\AppKernel.php line 20

Очевидно, строка 20 — это new Virka\ORMBundle\VirkaORMBundle(),. Я перепробовал все, но ничего не работает. И я хочу иметь возможность сделать это, не загружая пакет на github или pacakgist.

Итак, как я хотел бы получить от вас помощь, спасибо


person Community    schedule 09.10.2013    source источник


Ответы (2)


Удалить parantheses () :

$loader->add( 'YOURNAMESPACE', __DIR__.'/../vendor/YOURBUNDLEDIR/' );

Изменить:

YOURNAMESPACE : пространство имен для использования в use statements

YOURBUNDLEDIR : папка в вашей файловой системе, которая содержит класс VirkaORMBundle()

Эта ссылка может помочь

person S.Thiongane    schedule 09.10.2013
comment
Я удалил () из VirkaORMBundle() и все равно тот же результат - person ; 09.10.2013

Вы используете композитор? Если это так, вам нужно добавить свое пространство имен в файл vendor/composer/autoload_namespace.php.

person bjuice    schedule 09.10.2013