Как да инсталирате и използвате PHP Composer на Ubuntu 20.04 LTS

Съставете своя PHP проект с лекота, като оставите composer да управлява всички зависимости

Composer е инструмент за управление на зависимости за PHP. Той се различава от традиционния мениджър на пакети като напр ап и dnf, по такъв начин, че да не инсталира пакетите и библиотеките глобално на ниво система, а да ги обработва за всеки проект поотделно. По този начин това е мениджър на зависимости, а не мениджър на пакети.

Подобно на начина, по който композиторът на музика взема куп инструменти и ги подрежда да работят безупречно на концерт, Composer за PHP взема куп библиотеки и рамки, пакетира ги, за да работят заедно и създават солидна основа, върху която може да бъде построен PHP проект съставен.

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

Имате нужда от достъп до система Ubuntu 20.04 с не-root sudo потребителски акаунт. Освен това трябва да инсталирате някои зависимости за Composer, които включват php-cli за да стартирате PHP скриптове във вашия терминал, разархивирайте за да помогне на Composer да извлече изтеглените пакети и къдрица за да изтеглите скрипта за инсталиране на composer

За да инсталирате всички необходими пакети, актуализирайте списъка с пакети на Ubuntu, като изпълните командата за актуализиране:

sudo apt актуализация

След това инсталирайте php-cli, разархивирайте и къдрица използвайки следната команда:

sudo apt инсталирайте php-cli разархивирайте curl

Ще бъдете подканени да потвърдите инсталацията, натиснете Й след това натиснете Enter. След като изпълните всички предпоставки, можете да продължите да инсталирате Composer.

Изтеглете и инсталирайте Composer

Composer предлага чист PHP скрипт за изтегляне и инсталиране на вашата машина от командния ред. Трябва да използваме къдрица за да изтеглите този скрипт, проверете неговата автентичност от съображения за сигурност и след това го изпълнете, за да инсталирате Composer.

Уверете се, че терминалът ви е отворен в домашната директория и след това изтеглете инсталационния скрипт с помощта на къдрица:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

След това трябва да проверим, че инсталационният скрипт, който сме изтеглили, е оригинален, като съпоставим неговия хеш SHA-384 с този, който се намира на страницата за публичен ключ/контролни суми на Composer. За да направите това, вземете хеша SHA-384 от страницата с публичен ключ на Composer и го съхранете в променлива на обвивката.

Hash=`curl -sS //composer.github.io/installer.sig`

След това проверете дали сте получили и съхранили хеша успешно в променливата, като изпълните:

ехо $Hash

Трябва да получите изход на произволен низ като този от терминала:

Изход: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Сега стартирайте следния PHP код, предоставен от Composer, за да проверите автентичността на инсталационния скрипт:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Инсталаторът е проверен'; } else { echo 'Инсталаторът е повреден'; unlink('composer-setup .php'); } echo PHP_EOL;"
Изход: Инсталаторът е проверен

Ако видите друг изход като напр Инсталаторът е повреден, тогава ще разберете, че скриптът е повреден и не е безопасно да се изпълнява. Изтеглете скрипта отново, като използвате curl, след което изпълнете PHP кода в терминала отново, за да проверите инсталационния скрипт.

Можете да продължите с инсталацията, когато сте потвърдили успешно инсталатора. Можете да инсталирате Install the Composer глобално или локално за един проект.

Инсталирайте Composer глобално

За да инсталирате Composer глобално като общосистемна команда с име композитор, изпълнете следната команда:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Composer ще бъде инсталиран в /usr/local/bin директория на вашата Ubuntu 20.04 система и ще видите изход като този:

Изход: Всички настройки са правилни за използване на Composer Изтегляне... Composer (версия 1.10.7) успешно инсталиран на: /usr/local/bin/composer Използвайте го: php /usr/local/bin/composer 

Проверете дали Composer е инсталиран правилно и функционира, като изпълните:

композитор
Изход: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Композиторска версия 1.10.7 2020-06- 03 10:03:56 Използване: команда [опции] [аргументи] 

Успешно инсталирахте composer на вашата Ubuntu 20.04 система. Вече можете да започнете да използвате Composer за управление, актуализиране и инсталиране на зависимости във вашите PHP проекти незабавно.

Инсталиране на Composer локално

Инсталирането на Composer локално е полезно, когато нямате разрешение да го инсталирате на ниво система или ако искате Composer само за един проект. За да инсталирате composer локално, изпълнете:

php composer-setup.php

Горната команда ще създаде нов файл в текущата ви директория, наречен композитор.phar. Ще трябва да преместите този файл в основната папка на проекта, за да използвате функциите на Composer. Този файл може да се стартира с помощта на командата, показана по-долу.

php composer.phar

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

Сега, след като имате инсталиран Composer на вашата Ubuntu 20.04 машина, нека разгледаме някои основи на Composer. Composer има за цел да улесни инсталацията и актуализациите на зависимостите и за целта създава много файлове в основната директория на проекта. Нека разгледаме структурата на директорията на проект, използвайки Composer за управление на зависимости.

Основна структура на проекта Composer:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── композитор.phar *Само ако сте инсталирали Composer локално └── продавач ├── autoload.php ├── композитор │ ├── ClassLoader.php │ ├── ЛИЦЕНЗ │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • В composer.json файл, разположен в основната директория на проекта, съхранява цялата информация за зависимостите (пакетите), изисквани от проекта.
  • В композитор.заключване съдържа информацията за пакетите, които са заключени във версия за проекта.
  • продавач е директорията, в която се съхраняват всички пакети, има и някои PHP скриптове като autoload.php, което улеснява автоматичното включване на пакетите в директорията на доставчика.
  • И накрая, ако сте инсталирали Composer локално, трябва да имате композитор.phar файл в директорията на проекта, за да инсталирате пакети.

Всички тези файлове се създават, когато използвате композитор или php composer.phar команда за изтегляне и инсталиране на пакети за вашия проект за първи път. Така че нека разгледаме работата на Composer, като създадем демо проект.

Създаване на вашия първи проект с помощта на Composer

Първата стъпка е да създадете главна директория за вашия проект, така че създайте такава с mkdir команда и отидете до нея с помощта на cd команда:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Сега трябва да намерим и инсталираме пакетите/библиотеките, необходими за изграждането на нашия демонстрационен проект. Packagist е основното хранилище на Composer, което изброява всички публично достъпни PHP пакети, които могат да бъдат инсталирани с Composer.

В този пример ще използваме PHP пакет, наречен cakephp/chronos, това е просто разширение на API за дата и час. По този начин, за да генерирате нов проект на Composer и да инсталирате пакета Chronos, изпълнете следната команда:

composer изисква cakephp/chronos
Изход: Използването на версия ^2.0 за cakephp/chronos ./composer.json е създадено. Зареждане на хранилища на composer с информация за пакета Актуализиране на зависимости (включително require-dev) Операции на пакета: 1 инсталиране, 0 актуализации, 0 премахвания - Инсталиране на cakephp/chronos (2.0.5 ): Изтегляне (100%) Записване на заключен файл Генериране на файлове за автоматично зареждане 

В изискват опцията извлича и инсталира желания от вас пакет и генерира файловете и директориите като напр composer.json, композитор.заключване и продавач в основната директория на проекта. ще видите това cakephp/chronos се добавя към composer.json ако изпълните следната команда:

cat composer.json
Изход: { "require": { "cakephp/chronos": "^2.0" } } 

След това нека използваме Chronos в нашия демонстрационен проект, отваряме и създаваме PHP файл, наречен demo.php използвайки нано:

nano demo.php

След това добавете следния код към demo.php, вторият ред, който включва доставчик/autoload.php е Composer файл, който автоматично зарежда всички пакети и библиотеки, които са инсталирани за проекта. Запазете файла, като натиснете Ctrl+O и след това излезте от нано редактора, като натиснете Ctrl+X.

Изпълнете demo.php като изпълните следната команда:

php демо.php
Изход: Сега: 2020-06-23 17:07:45

В бъдеще, когато трябва да актуализирате пакетите и библиотеките на вашия проект, просто изпълнете следната команда:

актуализация на композитора

Горната команда ще провери за по-нова версия на инсталираните пакети и ще ги актуализира сигурно, без да нарушава проекта и неговите взаимозависими библиотеки.

Разгледахме как да инсталирате Composer на машина Ubuntu 20.04 и разгледахме основите, които трябва да знаете за Composer. Вече можете да опитате да изградите нови проекти, като добавите необходимите пакети, като потърсите в Packagist. Ако искате да научите повече за Composer и неговата опция, отидете на страницата за онлайн документация на Composer.