Composer — замечательный менеджер пакетов для PHP. Под катом пять пакетов которые пригодятся любому разработчику.
- Composition — пакет, который в рантайме позволяет получать информацию об установленных пакетах. Может быть полезным если логика вашего приложения зависит от установленных пакетов, различных их несовместимых версий, или же зависит от среды исполнения — например используется windows или php старых версий.
if (!\Composition::has('vendor/super-package', '>=2.0') {
$this->markTestSkipped('The following tests require "SuperPackage" to be at least at 2.0');
}
\Composition::has('php', '5.4.*');
\Composition::has('ext-mongo');
if (\Composition::isWindows()) {
// ...
}
- Prestissimo — расширение для параллельной установки пакетов. Магия в том, что библиотека в несколько потоков скачивает требуемые пакеты и ложит их в кэш композера. Таким образом в несколько раз ускоряя их установку. Будет полезно к примеру для изолированных тестовых сред, где кэш композера как правило недоступен, а скорость сборки играет роль.
- PHP Debug Bar — полезный пакет для тех кто дебажит var_dump’ами. Он выводит в браузер панель с информацией о php, текущем запросе, различные сообщения или переменные, и даже информацию об ajax-запросах. Прост в установке, также есть интеграция со многими популярными фреймворками.
- Belt — пакет содержит 60+ полезных функций для работы с коллекциями, массивами и объектами. Часть функций похожи на функции для работы с коллекциями в Laravel.
- A Multi-Framework Composer Library Installer — полезное расширение для разработчиков пакетов. Оно позволяет устанавливать разрабатываемое расширение в правильную директорию в зависимости от указанного типа. Например для проекта на CakePHP composer.json кастомного расширения будет следующего вида:
{
"name": "you/ftp",
"type": "cakephp-plugin",
"require": {
"composer/installers": "~1.0"
}
}
И при выполнении composer install пакет будет установлен в Plugin/Ftp/ директорию проекта.