Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Composer: команды для пакетного менеджера уровня приложений для языка программирования PHP кратко

Лекция



Привет, Вы узнаете о том , что такое 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: команды для пакетного менеджера уровня приложений для языка программирования PHP

Коротко и ясно обо всех командах Composer.

команда описание
composer require vendor/package

Добавляет требуемый пакет в файл composer.json и устанавливает его в ваш проект.

Команда require изменяет composer.json, находящийся в текущей папке.

Если пакету требуются зависимости, то они будут установлены или обновлены.

А также будет обновлен composer.lock.

composer install

Если файла composer.lock нет, резолвит зависимости исходя из composer.json

и создает его. Далее, анализирует файл composer.lock,

скачивает и устанавливает указанные в нем версии пакетов.
Опция --no-scripts полезна для обхода запуска скриптов, указанных в pre- и post- настройках.

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.json

(добавляли или изменяли description, authors, extra и т. Об этом говорит сайт https://intellect.icu . д.).

Даже если ваши изменения незначимы для Composer, он обнаруживает,

что md5 sum файла изменена, и предупреждает, что

эти изменения не учтены в файле composer.lock.

Поэтому, чтобы подавить это предупреждение,

вы можете просто запустить команду update --lock для

обновления lock-файла без обновления самих пакетов.

composer dump-autoload --optimize

Если вам нужно обновить загрузчик, т. к. появились новые классы,

вы можете выполнить команду dump-autoload чтобы избежать

установки или обновления пакетов.

Используйте ключ --optimize для преобразования PSR-0 в автозагрузку

как для classmap, чтобы автозагрузчик был наиболее быстрым.

Это настоятельно рекомендуется для production

(вы можете получить 20% прирост),

но может занять немного времени для запуска,

так что это на данный момент не сделано по умолчанию.

Также вы можете использовать dumpautoload псевдоним.

composer about Краткая информация о Composer.
composer archive vendor/package

Создать архив для указанного пакета. Команда также может

быть использована для архивирования всего проекта

без исключенных/игнорируемых файлов.

composer browse

Псевдоним для home, открывает URL пакета или

его домашнюю страницу в браузере.

composer clear-cache

Псевдоним команды clearcache, очищает

внутренний кэш пакетов 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 позволяет другие команды такие, как install,

require или update запускать так, как если бы вы запускали

их из каталога COMPOSER_HOME.

Это может использоваться для того, чтобы установить командные

утилиты глобально.

Если вы добавите $COMPOSER_HOME/vendor/bin в переменную

$PATH вашего окружения, то запуск утилит станет совсем простым.
Например, установите php-cs-fixer:
$ php composer.phar global require fabpot/php-cs-fixer:dev-master
Теперь исполняемый файл php-cs-fixer доступен глобально

и вы можете запустить его из любого места (конечно,

если вы настроили вашу переменную PATH).

composer help [command]

Отображает справки для всех других команд:

composer.phar help install.

composer init

Создает базовый вариант файла composer.json

в текущем каталоге.

При запуске команды, Composer будет интерактивно

запрашивать значения полей для заполнения,

используя при этом для некоторых полей умные значения по умолчанию.

composer licenses Показать информацию о лицензиях зависимостей.
composer list Выводит список допустимых команд.
composer remove

Удаляет пакет из секций require или require-dev:

remove vendor/package vendor/package2.

composer run-script

Запустить вручную скрипты, объявленные в composer.json.

Просто передайте название скрипта и

при необходимости --no-dev, чтобы отключить режим dev.

composer search ключевые слова

Поиск пакетов.

Команда поиска позволяет вам искать в репозиториях

текущего проекта (см. секцию "repositories" в composer.json).

Обычно это будет только packagist.org.

Вам нужно просто передать команде слова для поиска.

composer self-update

Обновление самого composer.phar до последней версии.

Запуск команды self-update может решить

некоторые проблемы и сэкономить ваше время.

Также вы можете использовать псевдоним selfupdate.

composer show

Список всех установленных пакетов (composer show).
Список всех доступных пакетов (composer show --all).
Инфо об указанном пакете или его специфичной версии

(composer show vendor/package [версия]).

composer suggest

Выводит список всех пакетов, предложенных установленными.

Опционально вы можете передать одно или несколько

имен пакетов в формате vendor/package чтобы

ограничить вывод только теми, что были предложены

указанными.

composer status

Если вам часто приходится модифицировать код своих

зависимостей, а они были установленны "из исходников"

(см. опцию --prefer-source команды require), то
команда status позволит вам проверить есть ли у вас

локальные изменения в любой из них.

composer validate

Проверяет файл composer.json.

Вы всегда должны запускать команду validate перед тем,

как коммитить ваш composer.json и перед

установкой релизного тега.

Эта команда проверит его на ошибки.

Автозагрузка

Для библиотек, которые указывают информацию об автозагрузке, 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 файлы, которые возвращают ассоциативные массивы, позволяющие настроить собственный автозагрузчик .

Вау!! 😲 Ты еще не читал? Это зря!

  • PEAR
  • pip — python менеджер пакетов
  • npm — менеджер пакетов, входящий в состав Node.js
  • Maven управление зависимостями для Java

Анализ данных, представленных в статье про composer, подтверждает эффективность применения современных технологий для обеспечения инновационного развития и улучшения качества жизни в различных сферах. Надеюсь, что теперь ты понял что такое composer, пакетный менеджер, команды для пакетного менеджера php и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Фреймворки. Famworks ( программная платформа)

создано: 2018-05-24
обновлено: 2024-11-14
20



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Фреймворки. Famworks ( программная платформа)

Термины: Фреймворки. Famworks ( программная платформа)