Какво е Composer?
Composer е PHP инструмент за управление на зависимостите на даден PHP проект.
Под PHP проект се разбира PHP библиотека, PHP framework и всяка система, написана на PHP.
За създаване на допълнителни функционалности в даден PHP проект, към него може да се прибавят различни допълнителни PHP библиотеки. Тези допълнителни PHP библиотеки се наричат зависимости на този PHP проект. Допълнителните PHP библиотеки също може да имат зависимост от други PHP библиотеки.
За да работите с даден PHP проект, освен него, ще е необходимо да инсталирате и зависимостите му и всички други допълнителни PHP библиотеки.
Например за PHP проекта Laravel, ако решите да извършите всичко ръчно, трябва да инсталирате laravel, след това и laravel/framework. А към тази зависимост има още около 20 други PHP библиотеки: d11wtq/boris, ircmaxell/password-compat, nesbot/carbon, monolog/monolog, swiftmailer/swiftmailer, patchwork/utf8, symfony/console, symfony/debug и т.н.
Това може да се окаже доста занимателен процес, особено при много на брой зависимости. Инсталирането в този случай, ще отнеме много време и може да се стигне до истинска бъркотия в директорията на PHP проекта.
Вместо това, можете да използвате Composer и само с една команда да инсталирате всичко.
Composer се грижи за проверката и инсталирането на всички необходими зависимости към даден PHP проект.
Composer ползва справочник на зависимостите – packagist.org. В този онлайн указател са описани PHP проектите с техните зависимости. Когато се извършва инсталация на PHP проект през Composer, той се свързва със справочника, проверява списъка и изтегля от оригиналния източник всеки необходим PHP пакет.
На сайта packagist.org/explore можете да потърсите и разгледате кои PHP проекти са включени в справочника.
Някои от проектите, които ползват Composer, са Zend Framework 2, Symfony2, CakePHP, Laravel, WP-CLI и други.
При други уеб технологии съществуват подобни инструменти за управление на зависимости като npm на Node.js и Bundler на Ruby.
Инсталация на Composer в хостинг акаунта
За инсталацията ще ви е необходим SSH достъп до хостинг акаунта.
Изискването на Composer за минимална версия на PHP e PHP 5.3.2.
Ако ползвате по-ниска версия на PHP, вижте как да превключите към по-висока: 🔗 Ползване на различна PHP версия през SSH | Help
Можете да инсталирате Composer локално за даден проект или глобално за целия хостинг акаунт. При първия вариант Composer ще се намира в директорията на проекта и ще може да се стартира само от там.
Инсталация на Composer (локално, за проект)
Създайте директория в хостинг акаунта или достъпете съществуваща директория на проект през конзола.
За да инсталирате Composer с PHP 7.x, например 7.4, командата e:
/opt/cpanel/ea-php74/root/usr/bin/php -d allow_url_fopen=1 -r "readfile('https://getcomposer.org/installer');" | php -d allow_url_fopen=1
ea-php74 – заменете 74 с желаната версия;
За да използвате PHP версията по подразбиране, командата е:
php -r "readfile('https://getcomposer.org/installer');" | php
След като Composer е инсталиран, през него можете да инсталирате PHP проект, като ползвате командата:
php composer.phar
Инсталация на Composer (глобално, за хостинг акаунта)
Докато се намирате в основната директория на хостинг акаунта (/home/cpuser/
), за да инсталирате Composer с PHP 7.x, например 7.4, командата e:
/opt/cpanel/ea-php74/root/usr/bin/php -d allow_url_fopen=1 -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
Тази команда ще извърши проверка на PHP настройките и ще свали инсталационния файл на Composer.
След това инсталирайте Composer с:
/opt/cpanel/ea-php74/root/usr/bin/php -d allow_url_fopen=1 composer-setup.php --install-dir=bin --filename=composer
ea-php74 – заменете 74 с желаната версия;
За да използвате PHP версията по подразбиране, изпълнете две команди последователно:
php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
php composer-setup.php –install-dir=bin –filename=composer
Инсталаторът ще инсталира Composer в директория /home/cpuser/bin
и ще преименува изпълнимия файл от composer.phar
на composer
.
Тъй като Composer е инсталиран в директория за изпълними файлове (/home/cpuser/bin
), можете да го стартирате от всяко място в хостинг акаунта, като използвате само командата composer
вместо php bin/composer
.
Например за да инсталирате Drush (Drupal) може да използвате команда:
composer global require drush/drush
Ако ползвате акаунт на споделен хостинг или Managed VPS, в контролния панел cPanel » Softaculous можете да намерите голямо разнообразие от PHP проекти, готови за инсталиране с един клик на мишката.
Работа с Composer
Разработчиците на PHP проекти, които искат да ползват Composer, трябва да го инсталират в директорията на проекта. След това е необходимо проектът да се впише в справочника на Composer – packagist.org.
Ако вие разработвате PHP проект и искате да вмъкнете допълнителна функционалност към него, може да добавите подходящата PHP библиотека.
След като Composer е инсталиран в директорията на проекта, добавяте един ред в конфигурационния му файл – composer.json
.
Например, за да добавите PHP библиотеката phplibrary
към вашия PHP проект, в този файл добавяте ред:
{<br>"require": {<br>"phplibrary/phplibrary": "2.*"<br>}<br>}
След това инсталирате тази библиотека като изпълните:
php composer.phar update
Помощна информация и упътване за работа с Composer, можете да откриете на сайта на разработчика: getcomposer.org.