컴포저 (소프트웨어)

컴포저(Composer)는 PHP 소프트웨어와 필요 라이브러리의 의존성을 관리하기 위한 표준 포맷을 제공하는 PHP 프로그래밍 언어의 패키지 관리자이다. Nils Adermann, Jordi Boggiano가 이 프로젝트를 개발하였으며 지금도 이 프로젝트의 관리를 계속하고 있다. 2011년 4월 개발을 시작하여 2012년 3월 1일 처음 출시했다. 컴포저는 Node.js의 npm과 루비의 번들러로부터 상당한 영향을 받았다. 이 프로젝트의 의존성 해결 알고리즘은 오픈수세의 libzypp satsolver의 PHP 기반 포팅으로 시작하였다.

컴포저는 명령 줄을 통해 실행되며 애플리케이션을 위한 의존성(예: 라이브러리)을 설치한다. 또, 사용자들은 사용 가능한 패키지를 포함하는 주요 저장소인 "Packagist"에서 이용할 수 있는 PHP 애플리케이션을 설치할 수 있다. 라이브러리를 위한 오토로드 기능도 제공하므로 서드파티 코드의 사용률을 경감시키기 위한 오토로드 정보를 특정해 준다.

문법

명령어 
컴포저는 여러 변수를 제공한다:
 require: composer.json 파일의 변수에 라이브러리를 추가하고 설치한다.
 install: composer.json으로부터 모든 라이브러리를 설치한다. 모든 PHP 저장소 의존성을 다운로드하기 위해 사용되는 명령어이다.
 update: composer.json으로부터 모든 라이브러리를 업데이트하며, 이는 언급되는 허용 버전에 따른다.
 remove: 라이브러리의 설치 제거를 수행하고 composer.json으로부터 이를 제거한다.

라이브러리 정의 
다음의 명령어로 생성되는 composer.json의 예:
 composer require monolog/monolog

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

지원되는 프레임워크 

 심포니 버전 2 이상
 라라벨 버전 4 이상
 코드이그나이터 버전 3.0 이상
 CakePHP 버전 3.0 이상
 FuelPHP 버전 2.0 이상
 드루팔 버전 8 이상
 TYPO3 버전 6.2 이상
 SilverStripe 버전 3.0 이상
 마젠토 버전 2.0 이상
 Yii 버전 1.1 이상
 젠드 프레임워크 버전 1 이상
 Silex
 Lumen

같이 보기 
 PEAR

각주

외부 링크 

 
 Composer on GitHub
 Composer documentation
 Composer Tutorial
 Automate basic composer tasks in Laravel
 Packagist - the main Composer repository
 

자유 패키지 관리 시스템
PHP로 작성된 자유 소프트웨어
PHP 소프트웨어