Какво е PHP Composer и как се инсталира?

Composer - инструмент за управление на зависимости

Какво е 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.

Обновена: 02.04.2022
Беше ли Ви полезна тази статия?

Вижте още