Съставете своя 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.