Рубрики
Uncategorized

Введение в основные операции композитора

Автор оригинала: David Wong.

Оригинальный текст из общедоступного номера wechat: qq1005349393

О композиторе

Composer-это инструмент управления зависимостями пакетов < шрифт> для PHP. Мы можем объявить зависимую внешнюю библиотеку инструментов в проекте, и composer поможет вам установить эти файлы зависимой библиотеки. С его помощью мы можем легко использовать команду для ссылки на отличный код других людей в нашем проекте. По умолчанию composer устанавливается не глобально, а на основе каталога (например, поставщика) указанного проекта. Для Composer требуется PHP 5.3.2 + и выше, и необходимо включить OpenSSL. Composer может работать на платформах Windows, Linux и OSX.

Установка композитора

1. Установка Windows На платформе Windows, нам нужно только загрузить composer-setup.exe и устанавливайте его шаг за шагом. Следует отметить, что вам необходимо включить конфигурацию OpenSSL. Мы можем открыть php .ini в каталоге PHP и удалить точку с запятой перед of.dll. После установки проверьте, прошла ли установка успешно. иметь доступ к

composer --version

Представление команд, как показано ниже: 2. Установка Linux

//Download composer file
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
//Using PHP interpreter to install composer
php composer-setup.php
//Move to the system executable directory, so that we can directly use the composer command to make global calls later. 
mv composer.phar /usr/local/bin/composer

3. Установка Mac OS

------Direct installation
//Download and install
curl -sS https://getcomposer.org/installer | php
//Move to executable directory for global call
sudo mv composer.phar /usr/local/bin/composer
------Install using brew package management tool on MAC
brew install composer
//Check whether the installation is successful
composer --version

4. Как переключить источник изображения композитора Теперь все обрабатывает свой собственный источник изображения композитора и может синхронизировать его с официальным сайтом packagist в режиме реального времени. Рекомендуется использовать источник изображений композитора Alibaba.

//Switch mirror source
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
//Unconfiguration
composer config -g --unset repos.packagist
//Switch mirror source only for current project (not global switch)
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
//Cancel the mirror source of the current project
composer config --unset repos.packagist

5. Обновление композитора Обновление композитора может быть обновлено с помощью его собственной команды

composer selfupdate

Использование композитора

Общие операции композитора заключаются в следующем:

1.установка composer Когда зависимость проекта добавляется в наш файл composer.json, она выглядит следующим образом:

{
    "require": {
        "topthink/framework": "5.0.5",
    }
}

Когда мы используем composer install, мы автоматически установим соответствующий пакет в соответствии с зависимостью в пакете.

2.обновление composer Эта команда обновит версию пакета в соответствии с зависимостью пакета и соответствующей версией в файле конфигурации composer.json, но обновит все пакеты до последней версии, которую следует осторожно использовать в реальных проектах, особенно в производственной среде.

3.требование к композитору В пункте 1 мы говорили о том, как установить соответствующий пакет в соответствии с конфигурацией зависимости пакета в файле конфигурации composer.json. Эта команда может установить пакет вручную, а не в зависимости от файла конфигурации. После установки соответствующая конфигурация зависимостей будет автоматически добавлена в файл конфигурации composer.json.

4.composer удалить Эта команда может удалить указанную зависимость пакета. Например, нам не нужно полагаться на пакет, чтобы напрямую использовать команду + имя пакета.

composer remove "topthink/framework": "5.0.5"

Аналогично, после выполнения этой команды зависимость пакета в файле конфигурации composer.json будет автоматически удалена без нашей ручной операции.

5.composer показать Основная цель этой команды-просмотреть информацию, связанную с пакетом, который был установлен в текущем проекте.

//View information about all installed packages
composer show
//Specify to view information about installed packages
composer show topthink/framework

В чем разница между composer.json и composer.lock

В процессе использования composer мы обнаружим, что при выполнении таких команд, как composer update, мы обнаружим, что существует дополнительный композитор.непреднамеренно заблокируйте файл. Какова основная цель этого документа? Этот файл в основном используется версией пакета управления. Когда мы используем команду composer update, composer автоматически создаст соответствующего композитора.блокировка файла в соответствии с зависимостью версии пакета composer.json. Когда мы в следующий раз выполним команду composer, мы сначала прочитаем содержимое composer.файл блокировки.

Ограничение версии композитора

Когда мы используем установочный пакет composer, мы должны учитывать проблему с версией. Поскольку разные версии имеют проблемы с совместимостью, нам необходимо обратить особое внимание на версию пакета при использовании инструмента для установки пакета. При неправильном использовании легко привести к парализации проекта из-за проблемы с версией пакета. Наиболее распространенными из них являются следующие: 1. Точная версия Обязательно установите эту версию. Если вам нужно установить пакет, версия 1.2.3.

"topthink/think-captcha": "v1.2.3",

2. подстановочные знаки Этого достаточно, чтобы соответствовать указанному диапазону. Следующий диапазон составляет от 5,0 до 5,1

"topthink/framework": "5.0.*",

3. область Обычно используемые операторы диапазона >, > =, < и < =,! =. Вы можете определить несколько диапазонов, использовать пробелы или запятые для логического и и двойные вертикальные линии для логического или. Где и имеют приоритет больше, чем или.

//Indicates a version greater than or equal to 0.90 and less than 3.0
"ruflin/elastica": ">=0.90 <3.0",

4. Тильда~ Этот оператор ограничивает минимальный номер версии.

Allow the last bit version number in the expression to reach the maximum value

Например, ~ 1.2 равно.2 < 2.0, ~ 1.5.6 равно.5.6 < 1.6.0. То есть основной номер версии и второстепенный номер версии остаются прежними, а номер версии для восстановления может достигать максимального значения. 5. Интонация^ Этот оператор ограничивает блокировку максимального номера версии.

The locked expression is the first major version number, which allows upgrading to a safe version number.

Например, ^ 1.2 равно.2 < 2.0, ^ 1.2.3 равно.2.3 < 2.0.0.

Семантически

Что такое семантика? Простой момент-это управление номерами версий. Наш пакет, как правило, состоит из следующих форматов: Основной номер версии PHP + второстепенный номер версии + исправленная версия Как упоминалось в приведенных выше примерах, некоторые пакеты имеют номера версий x.x.x. Первый-основной номер версии, второй-второстепенный номер версии, а третий-номер версии для исправления некоторых ошибок. Для получения более подробной информации, пожалуйста, обратитесь к https://semver.org/lang/zh-cn/

Оптимизация использования композитора

1. Тип загрузки композитора Типы загрузки композитора включают classmap, psr-0, psr-4 и файл.psr-0, от которых постепенно отказываются. Поскольку некоторые старые проекты все еще используют это правило, некоторые проекты все еще используют его. Большинство из них используют psr-4. Карта классов-это процесс сопоставления файлов пакетов, который будет описан ниже. Файл в основном загружает некоторые вспомогательные операции. 1.дамп композитора-автоматическая загрузка-o Команда создаст сопоставление файлов в соответствии с пространством команд и путем к пакету. Когда пакет должен быть загружен, файл пакета будет загружен в соответствии с отображением. Это ускорит доступ к нашим файлам пакетов. Когда мы выполняем команду, мы можем просмотреть следующий интерфейс. То, что обведено кружком, – это конфигурация сопоставления классов. Как композитор обрабатывает логику последовательности загрузки? Мы можем проверить последовательность обработки класса загрузки композитора. Метод, обведенный на рисунке ниже, заключается в том, чтобы сначала загрузить карту классов, но psr-4 не найден. 2.дамп композитора-автоматическая загрузка-Основная функция