Установка LiipImagineBundle для Symfony 2.1 с помощью Composer
В LiipImagineBundle, похоже, нет инструкций по установке с помощью composer ( страница github), поэтому я добавил
"liip/imagine-bundle": "*",
на мой composer.json и обновил. Все прошло нормально, пока я не попытался зарегистрировать пакет в appKernel.php с помощью строки
new Liip\ImagineBundle\LiipImagineBundle(),
Php выдает ошибку
Fatal error: Class 'Liip\ImagineBundle\LiipImagineBundle' not found in C:\xampp\htdocs\xxxx\Symfony\app\AppKernel.php on line 24
Насколько я вижу, LiipImagineBundle находится в нужном месте в папке поставщиков. Кто-нибудь есть идеи, где я иду не так? Заранее спасибо.
* Изменить Я должен добавить, что я использую Symfony 2.1
4 ответа
Мне пришлось изменить строку в композиторе на это:
"liip/imagine-bundle": "*@dev"
обратите внимание на @dev в конце. Это говорит композитору, что я готов принять стабильность "dev"
Я связался с разработчиком пакета и обнаружил, что есть vendor/composer/autoload_namespaces.php
где вы можете вручную добавить записи, и пакет не был там.
Это руководство было полезным: пространства имен композитора за 5 минут
Я использую Symfony 2.1.4-DEV и включаю "liip/ideas-bundle": "*" в composer.json, и обновление работает
Вы зарегистрировали пространство имен в autoload.php
и зарегистрированный Bundle в AppKernel.php
? В противном случае класс будет недоступен для использования до регистрации там.
Как сказано в документации:
<?php
// app/autoload.php
$loader->registerNamespaces(array(
// ...
'Imagine' => __DIR__.'/../vendor/imagine/lib',
'Liip' => __DIR__.'/../vendor/bundles',
));
А также
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Liip\ImagineBundle\LiipImagineBundle(),
);
}
Обновить
Бежать composer update
это восстановит ваши файлы начальной загрузки. скажи мне, если повезет с этим.