Одна из возможностей, которая мне часто требуется — удобное использование Composer для управления как собственными, так и сторонними библиотеками — например, компонентами Symfony. Немного копания и кода и я достиг этой цели — и в этой статье я проведу вас к ней.
Для начала установим Composer:
sh# перехходим в папку проекта: cd /path/to/laravel # устанавливаем Composer: curl -s http://getcomposer.org/installer | php
Теперь создадим файл composer.json в папке установки Laravel. Вот как выглядит мой:
{ "require": { "php": ">=5.3.0", "kloy/cli": "0.0.*", "vendor/package": "version", ... } }
Теперь когда у нас есть composer.json мы можем установить требуемые пакеты Composer:
shphp composer.phar install
Пакеты устанавливаются в папку vendors. Теперь настроим зарегистрируем их в автозагрузчике — редактируем paths.php:
// --------------------------------------------------------------
// Путь к папке пакетов Composer
// --------------------------------------------------------------
$paths['composer'] = 'vendor';
Наконец, последнее, что осталось — добавить подключение автозагрузчика в public/index.php:
// --------------------------------------------------------------
// Установка системных путей Laravel
// --------------------------------------------------------------
require '../paths.php';
// --------------------------------------------------------------
// Автозагрузка пакетов Composer
// --------------------------------------------------------------
require path('composer').DS.'.composer'.DS.'autoload.php';
Если вы хотите сделать доступным автозагрузчик Composer для «Artisan» добавьте такой же require в файл artisan. Можно было бы поместить его в start.php, но это потребовало бы изменения всех имеющихся и будущих пакетов.
Поздравляю! Теперь вы можете использовать библиотеки Composer как в своём приложении, так и в своих установленных пакетах.