Існує багато бібліотек, фреймворків і компонентів PHP на вибір. Ваш проект, швидше за все, буде використовувати деякі з них - це і є залежності проекту. До недавнього часу в PHP не існувало зручного способу для управління залежностями проекту. Навіть якщо ви керуєте ними вручну, вам доводилося турбуватися про Автозавантажувач. Більше це не потрібно.
В даний час існує дві основні системи управління пакетами для PHP - Composer і PEAR. Яка з них підходить саме вам? Відповідь - обидві.
• Використовуйте Composer для управління залежностями одного проекту.
• Використовуйте PEAR для управління залежностями всіх проектів у всій вашій системі.
Загалом, пакети Composer будуть доступні тільки в проектах, для яких ви явно вкажете його використання, тоді як пакети PEAR будуть доступні у всіх ваших PHP проектах. PEAR, на перший погляд, може здатися більш простим підходом, але є переваги у використанні підходу «проект-к-проекту» для залежностей.
Composer і Packagist
Composer є блискучим менеджером залежностей для PHP. Вкажіть список залежностей вашого проекту в файлі composer.json і, за допомогою декількох простих команд, Composer автоматично завантажить залежності вашого проекту і встановить для вас автозагрузку.
На даний момент існує багато PHP бібліотек, які сумісні з Composer, готових для використання в вашому проекті. Список цих «пакетів» є на Packagist ². офіційному репозиторії для Composer-сумісних PHP бібліотек.
Як встановити Composer
Ви можете встановити Composer локально (у вашій поточної робочої директорії; хоча це не рекомендується) або глобально (наприклад / usr / local / bin). Припустимо, ви хочете встановити Composer локально. З кореневої директорії вашого проекту виконайте:
1 curl - s https. //getcomposer.org/installer | php
Це дозволить завантажити файл composer.phar (бінарний PHP-архів). Ви можете запустити його, використовуючи php для управління залежностями вашого проекту. Якщо ви скачаєте код безпосередньо в ваш інтерпретатор, будь ласка, спершу прочитайте код онлайн, для підтвердження його безпеки.
Як встановити Composer (вручну)
Ручна установка Composer - це просунута техніка; однак, існують причини, за якими розробник може віддати перевагу саме цей метод використання інтерактивної установки. Інтерактивна установка перевіряє настройки PHP, щоб підтвердити, що:
• Використовується необхідна версія PHP
• Файли .phar можуть бути вірно виконані
• Певні права на каталог достатні
• Можливо, конфліктні розширення
• Встановлено необхідні настройки php.ini
У разі, якщо жодна з цих умов не дотримано, ви повинні прийняти рішення чи варто йти на такий компроміс. Нижче описано, як встановити Composer вручну:
1 curl - s http. //getcomposer.org/composer.phar -o $ HOME / local / bin / composer
2 chmod + x $ HOME / local / bin / composer
Шлях $ HOME / local / bin (або інший каталог, обраний вами) повинен знаходитися у вашій змінній середовища $ PATH. Це дозволить бути доступною команді composer.
Якщо ви прочитаєте документацію Composer, в якій мовиться, що потрібно запускати Composer за допомогою команди php composer.phar install. ви можете замінити цю команду на:
1 composer install
Як оголосити і встановити залежності
Composer продовжує стежити за залежностями вашого проекту в файлі composer.json. Ви можете керувати ним вручну, якщо вам подобається, або ж використовувати сам Composer. Команда php composer.phar require додає залежність в проект і, якщо в каталозі немає файлу composer.json. він буде створений. Далі ми розглянемо приклад, який додає Twig ³. як залежність вашого проекту. Запустіть це в кореневій директорії вашого проекту, куди ви завантажували composer.phar:
1 php composer.phar require twig / twig:
Аналогічно команда php composer.phar init проведе вас через створення повного файлу composer.json для вашого проекту. Є й інший шлях, коли ви створите файл composer.json ви можете сказати Composer, щоб він скачав всі ваші залежності в папку vendors /. Це також може бути застосовано для проектів, які ви завантажили і які надають файл
1 php composer.phar install
Потім додайте цей код в основний PHP-файл вашого застосування; це вкаже PHP використовувати автозавантажувач Composer для залежностей вашого проекту.
2 require 'vendor / autoload.php';
Тепер ви можете використовувати залежності вашого проекту і вони будуть автоматично завантажуватися (на вимогу).
Composer створює файл composer.lock який зберігає точну версію кожного пакета, який він завантажив під час першого запуску php composer.phar install. Якщо ви поділилися проектом з іншими розробниками і файл composer.lock є частиною нього, то при запуску php composer.phar install вони отримають ту ж версію, що і ви. Щоб оновити ваші залежності запустіть php composer.phar update.
Дуже зручно гнучко вказувати необхідні версії. Якщо ви потребуєте версії 1.8, що означає "все що новіше 1.8.0, але менше 2.0.x-dev". Ви також можете використовувати шаблон *. наприклад 1.8. *. Тепер команда Composer php composer.phar update оновить всі ваші залежності до новітніх версій, які відповідають зазначеним обмеженням.
Перевірка ваших залежностей на безпеку
Security Advisories Checker є веб-сервісом і інструментом командного рядка, обидва з яких вивчають ваш файл composer.lock і скажуть вам якщо вам потрібно оновити будь-яке з ваших залежностей.
Іншим ветераном серед пакетних менеджерів, яким насолоджуються багато PHP-розробники, є PEAR. Він працює практично так само, як і Composer, але має кілька важливих відмінностей.
PEAR встановлює пакети глобально, що означає те, що після установки, вони доступні всім проектам на цьому сервері. Це може бути корисно, якщо багато проектів будуються на тих же пакетах з тієї ж версією, але може привести до проблем, якщо проекти розроблялися для різних версій.
Як встановити PEAR
Ви можете встановити PEAR, завантаживши установник phar і виконавши його. Документація PEAR містить докладну інструкцію по установці для кожної операційної системи.
Якщо ви використовуєте Linux, ви також можете подивитися наявність PEAR в пакетному менеджері вашого дистрибутива. Debian і Ubuntu, наприклад, містять інформацію про пакет php-pear в пакетному менеджері apt.
Як встановити пакет
Якщо пакет існує в списку пакетів PEAR. ви можете встановити його, вказавши офіційна назва:
1 pear install foo
Перший розділ "repositories" дасть зрозуміти Composer, що він повинен зробити "initialise" (або "discover" в термінології PEAR) репозиторій pear. Потім секція require вкаже іменах пакетів префікс, як нижче:
Коли код буде встановлено він буде доступний у вашій папці vendor і автоматично доступний через автозавантажувач (файл Autoload) Composer.
Щоб використовувати цей пакет PEAR просто оголосіть як нижче:
1 $ request = new pear2 \ HTTP \ Request ();
Для продовження скачування необхідно зібрати картинку: