Лекция
Привет, Вы узнаете о том , что такое composer, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое composer, пакетный менеджер, команды для пакетного менеджера php , настоятельно рекомендую прочитать все из категории Фреймворки. Famworks ( программная платформа).
Composer — это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении. Composer разработали и продолжают поддерживать два программиста Nils Adermann и Jordi Boggiano. Они начали разрабатывать Composer в апреле 2011, а первый релиз состоялся 1 марта 2012. Идея создания пакетных менеджеров уровня приложений не нова и его авторы вдохновлялись уже существовавшим на тот момент времени npm для Node.js.
Composer работает через интерфейс командной строки и устанавливает зависимости (например библиотеки) для приложения. Он также позволяет пользователям устанавливать PHP-приложения, которые доступны на packagist.org, который является его основным репозиторием, где содержатся все доступные пакеты.
Composer запускается из командной строки и устанавливает зависимости (например, библиотеки) для приложения. Он также позволяет пользователям устанавливать приложения PHP, доступные на «Packagist» , который является его основным репозиторием, содержащим доступные пакеты. Он также предоставляет возможности автозагрузки для библиотек, которые указывают информацию об автозагрузке, чтобы упростить использование стороннего кода.
Composer предлагает несколько параметров, включая:
require
: добавить библиотеку в параметр в файл composer.json и установить.install
: установить все библиотеки из composer.json. Эта команда используется для загрузки всех зависимостей репозитория PHP.update
: обновить все библиотеки из composer.json в соответствии с разрешенными версиями, указанными в нем.remove
: удалить библиотеку и удалить ее из composer.json.Пример composer.json, созданного следующей командой:
композитор требует монолог / монолог
{
"require" : {
"monolog / monolog" : "1.2. *"
}
}
Различные авторизованные версии библиотек определяются:
Условное обозначение | Роль (помещается перед номером версии) | пример |
---|---|---|
> = | позволяет увеличить номер. Кроме того, мы можем использовать:>, <, <=. | "php": ">=5.5.9" включает PHP 7. |
знак равно | исключает версию. | |
- | определяет ряд версий. | |
¦¦ | добавить возможные версии. | "symfony/symfony": "2.8 ¦¦ 3.0" объединяет только эти две версии. |
* | распространяется на все подверсии. | "symfony/symfony": "3.1.*" включает 3.1.1. |
~ | распространяется на следующие версии того же уровня. | "doctrine/orm": "~2.5" также касается 2.6, но ни 2.4, ни 3.0. |
^ | то же, что и тильда, только если есть обратная совместимость . |
Коротко и ясно обо всех командах Composer.
команда | описание |
---|---|
composer require vendor/package |
Добавляет требуемый пакет в файл Если пакету требуются зависимости, то они будут установлены или обновлены. А также будет обновлен |
composer install |
Если файла и создает его. Далее, анализирует файл скачивает и устанавливает указанные в нем версии пакетов. |
composer update |
Обновляет ваши зависимости до последних версий и обновляет composer.lock .Команда update резолвит зависимости чтобы получить самые последние версии зависящих друг от друга пакетов. |
composer update --lock |
Иногда, вы можете получить такое предупреждение:
Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them. Это может произойти после того, как вы вручную редактировали (добавляли или изменяли Даже если ваши изменения незначимы для Composer, он обнаруживает, что md5 sum файла изменена, и предупреждает, что эти изменения не учтены в файле вы можете просто запустить команду обновления lock-файла без обновления самих пакетов. |
composer dump-autoload --optimize |
Если вам нужно обновить загрузчик, т. к. появились новые классы, вы можете выполнить команду установки или обновления пакетов. как для classmap, чтобы автозагрузчик был наиболее быстрым. Это настоятельно рекомендуется для production (вы можете получить 20% прирост), но может занять немного времени для запуска, так что это на данный момент не сделано по умолчанию. |
composer about |
Краткая информация о Composer. |
composer archive |
Создать архив для указанного пакета. Команда также может быть использована для архивирования всего проекта без исключенных/игнорируемых файлов. |
composer browse |
Псевдоним для его домашнюю страницу в браузере. |
composer clear-cache |
Псевдоним команды внутренний кэш пакетов Composer-а. |
composer config --list |
Позволяет редактировать некоторые основные параметры Composer-а либо в локальном файле composer.json, либо в глобальном файле config.json. |
composer create-project vendor/package dir/ |
Создать новый проект из указанного пакета в указанном каталоге. |
composer depends vendor/package |
Сообщает вам какие другие пакеты зависят от конкретного (указанного) пакета. Вы можете указать какие типы связей (require, require-dev) должны быть включены в листинг. По умолчанию выводятся оба. |
composer diagnose |
Если вы считаете, что нашли ошибку, или что-то ведет себя странно, возможно, вы захотите выполнить команду диагностики для выполнения автоматизированной проверки многих общих проблем. |
composer global |
Команда global позволяет другие команды такие, как
их из каталога утилиты глобально. Если вы добавите
и вы можете запустить его из любого места (конечно, если вы настроили вашу переменную PATH). |
composer help [command] |
Отображает справки для всех других команд:
|
composer init |
Создает базовый вариант файла в текущем каталоге. запрашивать значения полей для заполнения, используя при этом для некоторых полей умные значения по умолчанию. |
composer licenses |
Показать информацию о лицензиях зависимостей. |
composer list |
Выводит список допустимых команд. |
composer remove |
Удаляет пакет из секций require или require-dev:
|
composer run-script |
Запустить вручную скрипты, объявленные в Просто передайте название скрипта и при необходимости |
composer search ключевые слова |
Поиск пакетов. текущего проекта (см. секцию "repositories" в Обычно это будет только packagist.org. Вам нужно просто передать команде слова для поиска. |
composer self-update |
Обновление самого некоторые проблемы и сэкономить ваше время. |
composer show |
Список всех установленных пакетов ( ( |
composer suggest |
Выводит список всех пакетов, предложенных установленными. Опционально вы можете передать одно или несколько имен пакетов в формате ограничить вывод только теми, что были предложены указанными. |
composer status |
Если вам часто приходится модифицировать код своих зависимостей, а они были установленны "из исходников" (см. опцию локальные изменения в любой из них. |
composer validate |
Проверяет файл как коммитить ваш установкой релизного тега. Эта команда проверит его на ошибки. |
Для библиотек, которые указывают информацию об автозагрузке, Composer создает vendor/autoload.php
файл. Вы можете включить этот файл и начать использовать классы, предоставляемые этими библиотеками, без дополнительной работы:
require __DIR__ . '/vendor/autoload.php';
$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');
Вы даже можете добавить свой собственный код в автозагрузчик, добавив autoload
поле в composer.json
.
{
"autoload": {
"psr-4": {"Acme\\": "src/"}
}
}
Composer зарегистрирует автозагрузчик PSR-4 для Acme
пространства имен.
Вы определяете отображение из пространств имен в каталоги. src
Каталог будет находиться в корневом каталоге проекта, на том же уровне, что и vendor
каталог. Пример имени файла будет src/Foo.php
содержать Acme\Foo
класс.
После добавления autoload
поля вам нужно повторно запустить эту команду:
php composer.phar dump-autoload
Эта команда повторно сгенерирует vendor/autoload.php
файл. См. dump-autoload
Раздел для получения дополнительной информации.
Включение этого файла также вернет экземпляр автозагрузчика, поэтому вы можете сохранить возвращаемое значение вызова include в переменной и добавить больше пространств имен. Это может быть полезно, например, для автозагрузки классов в наборе тестов.
$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Acme\\Test\\', __DIR__);
В дополнение к автозагрузке PSR-4, Composer также поддерживает PSR-0, карту классов и автозагрузку файлов. См. autoload
Ссылку для получения дополнительной информации.
См. Также документацию по оптимизации автозагрузчика .
Примечание: Composer предоставляет собственный автозагрузчик. Если вы не хотите его использовать, вы можете включать vendor/composer/autoload_*.php файлы, которые возвращают ассоциативные массивы, позволяющие настроить собственный автозагрузчик .
Анализ данных, представленных в статье про composer, подтверждает эффективность применения современных технологий для обеспечения инновационного развития и улучшения качества жизни в различных сферах. Надеюсь, что теперь ты понял что такое composer, пакетный менеджер, команды для пакетного менеджера php и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Фреймворки. Famworks ( программная платформа)
Комментарии
Оставить комментарий
Фреймворки. Famworks ( программная платформа)
Термины: Фреймворки. Famworks ( программная платформа)