Як встановити та використовувати 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`

Потім переконайтеся, що ви успішно отримали та зберегли хеш у змінній, запустивши:

echo $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

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

Тепер, коли на вашій машині Ubuntu 20.04 встановлено Composer, давайте розглянемо деякі основи Composer. Composer має на меті полегшити інсталяцію та оновлення залежностей і для цього створює багато файлів у кореневому каталозі проекту. Давайте подивимося на структуру каталогів проекту за допомогою Composer для керування залежностями.

Коренева структура проекту Composer:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── композитор.phar *Тільки якщо ви встановили Composer локально └── постачальник ├── autoload.php ├── композитор │ ├── ClassLoader.php │ ├── ЛІЦЕНЗІЯ │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • The composer.json файл, розташований у кореневому каталозі проекту, зберігає всю інформацію про залежності (пакети), необхідні для проекту.
  • The композитор.замок містить інформацію про пакети, версія яких заблокована для проекту.
  • постачальник це каталог, де зберігаються всі пакунки, він також містить деякі PHP-скрипти, наприклад autoload.php, що полегшує автоматичне включення пакетів у каталог постачальника.
  • Нарешті, якщо ви встановили Composer локально, ви повинні мати композитор.phar файл у каталозі проекту для встановлення пакетів.

Усі ці файли створюються під час використання файлу композитор або php composer.phar команду для першого завантаження та встановлення пакетів для вашого проекту. Тож давайте подивимося на роботу Composer, створивши демонстраційний проект.

Створення першого проекту за допомогою Composer

Першим кроком є ​​створення кореневого каталогу для вашого проекту, тому створіть його за допомогою mkdir команду та перейдіть до неї за допомогою компакт-диск команда:

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%) Запис файлу блокування Генерування файлів автозавантаження 

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

cat composer.json
Вихід: { "require": { "cakephp/chronos": "^2.0" } } 

Далі давайте використаємо Chronos у нашому демонстраційному проекті, відкриємо та створимо файл PHP під назвою demo.php використання нано:

nano demo.php

Потім додайте наступний код до demo.php, другий рядок, який включає vendor/autoload.php є файлом Composer, який автоматично завантажує всі пакунки та бібліотеки, встановлені для проекту. Збережіть файл, натиснувши Ctrl+O а потім вийдіть з редактора nano, натиснувши Ctrl+X.

Виконати demo.php виконавши таку команду:

php demo.php
Вихід: Зараз: 23.06.2020 17:07:45

У майбутньому, коли вам знадобиться оновити пакети та бібліотеки вашого проекту, просто виконайте таку команду:

оновлення композитора

Наведена вище команда перевірить наявність новішої версії інстальованих пакетів та безпечно оновить їх, не порушуючи проект та його взаємозалежні бібліотеки.

Ми розглянули, як встановити Composer на машині Ubuntu 20.04, і розглянули основи, які вам потрібно знати про Composer. Тепер ви можете спробувати створювати нові проекти, додаючи необхідні пакети за допомогою пошуку на Packagist. Якщо ви хочете дізнатися більше про Composer та його опцію, перейдіть на сторінку онлайн-документації Composer.