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 пакет.
На сайта https://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
Можете да инсталирате Composer локално за даден проект или глобално за целия хостинг акаунт. При първия вариант Composer ще се намира в директорията на проекта и ще може да се стартира само от там.
Инсталация на Composer (локално, за проект)
Създайте директория в хостинг акаунта или достъпете съществуваща директория на проект през конзола и изпълнете следната команда:
След като Composer е инсталиран, през него можете да инсталирате PHP проект, като ползвате командата php composer.phar.
Инсталация на Composer (глобално, за хостинг акаунта)
Докато се намирате в основната директория на хостинг акаунта (/home/cpuser/) изпълнете:
Тази команда ще извърши проверка на PHP настройките и ще свали инсталационния файл на Composer.
След това инсталирайте Composer с:
Инсталатора ще инсталира Composer в директория /home/cpuser/bin и ще преименува изпълнимия файл от composer.phar на composer.
Тъй като Composer е инсталиран в директория за изпълними файлове (/home/cpuser/bin) можете да го стартирате от всяко място в хостинг акаунта, като използвате само командата composer вместо php bin/composer
.
Например за да инсталирате Drush (Drupal) може да използвате команда: composer global require drush/drush
Ако ползвате акаунт на споделен Linux хостинг или Managed VPS, в контролния панел cPanel -> Softaculous можете да намерите голямо разнообразие от PHP проекти, готови за инсталиране с един клик на мишката.
Работа с Composer
Разработчиците на PHP проекти, които искат да ползват Composer, трябва да го инсталират в директорията на проекта. След това е необходимо проекта да се впише в справочника на Composer - packagist.org.
Ако вие разработвате PHP проект и искате да вмъкнете допълнителна функционалност към него, може да добавите подходящата PHP библиотека.
След като Composer е инсталиран в директорията на проекта, добавяте един ред в конфигурационния му файл - composer.json.
Например, за да добавите PHP библиотеката phplibrary към вашия PHP проект, в този файл добавяте ред:
"require": {
"phplibrary/phplibrary": "2.*"
}
}
След това инсталирате тази библиотека като изпълните:
Помощна информация и упътване за работа с Composer, можете да откриете на сайта на разработчика: getcomposer.org