Установка 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 это восстановит ваши файлы начальной загрузки. скажи мне, если повезет с этим.

Другие вопросы по тегам