Рубрики
Uncategorized

Подробное описание основных операций composer

Автор оригинала: 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 и удалите точку с запятой раньше. dll. После завершения установки проверьте, прошла ли установка успешно. иметь доступ к

composer --version

Командный вид, как показано ниже: 2. Установка Linux

// Download the composer file
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
// Install composer using PHP interpreter
php composer-setup.php
// Move to the directory of executable files, so that we can use the composer command directly 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 the directory of executable files for global invocation
sudo mv composer.phar /usr/local/bin/composer
Installation using brew package management tool on Mac
brew install composer
// Check if the installation is successful
composer --version

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

// Switching Mirror Source
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
// Unconfigure
composer config -g --unset repos.packagist
// Switch mirror source only for current project (non-global handover)
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
// Cancel the mirror source for the current project
composer config --unset repos.packagist

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

composer selfupdate

Композитор использует

При использовании Composer несколько распространенных операций заключаются в следующем:

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 on all installed packages
composer show
// Specify information to view installed packages
composer show topthink/framework

В чем разница между композитором. JSON и композитор. замок

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

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

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

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

2. Подстановочные знаки Он может удовлетворять указанному диапазону, варьирующемуся от 5,0 до 5,1, следующим образом

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

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

// Represents versions greater than or equal to 0.90 and less than 3.0
"ruflin/elastica": ">=0.90 <3.0",

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

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

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

Lock expression is unchanged by the first major version number, allowing upgraded version to a secure version number

Если ^ 1.2 равно.2 < 2.0, то ^ 1.2.3 равно.2.3 < 2.0.

Семантизация

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

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

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