{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name                   = 컴포저
| logo                   = Logo-composer-transparent.png
| logo size              = 120px
| screenshot             =
| caption                =
| author                 =
| developer              = Nils Adermann,<br />Jordi Boggiano
| released               = {{시작 날짜와 나이|2012|03|01}}<ref name='ird' />
| latest release version = {{wikidata|property|preferred|references|edit|P348|P548=Q2804309}}
| latest release date    = {{시작 날짜와 나이|{{wikidata|qualifier|preferred|single|P348|P548=Q2804309|P577}}|df=yes}}
| latest preview version =
| latest preview date    =
| programming language   = [[PHP]]
| operating system       = [[크로스 플랫폼]]
| platform               =
| language               =
| genre                  = [[패키지 관리자]]
| license                = [[MIT 허가서]]
| website                = {{URL|http://getcomposer.org/}}
}}

'''컴포저'''(Composer)는 PHP 소프트웨어와 필요 [[라이브러리 (컴퓨팅)|라이브러리]]의 의존성을 관리하기 위한 표준 포맷을 제공하는 [[PHP]] [[프로그래밍 언어]]의 [[패키지 관리자]]이다. Nils Adermann, Jordi Boggiano가 이 프로젝트를 개발하였으며 지금도 이 프로젝트의 관리를 계속하고 있다. 2011년 4월 개발을 시작하여 2012년 3월 1일 처음 출시했다.<ref name='ird'>[https://github.com/composer/composer/releases/tag/1.0.0-alpha1 Software release], github.com, Retrieved April 24, 2016.</ref> 컴포저는 [[Node.js]]의 [[Npm (소프트웨어)|npm]]과 [[루비 (프로그래밍 언어)|루비]]의 [[번들러]]로부터 상당한 영향을 받았다.<ref>[https://getcomposer.org/doc/00-intro.md#dependency-management Getting Started/Dependency management], getcomposer.org, Retrieved November 28, 2013.</ref> 이 프로젝트의 의존성 해결 알고리즘은 오픈수세의 [[ZYpp|libzypp]] satsolver의 PHP 기반 포팅으로 시작하였다.<ref>[https://github.com/composer/composer#acknowledgments Composer acknowledgements]</ref>

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

== 문법 ==
=== 명령어 ===
컴포저는 여러 변수를 제공한다:<ref>{{웹 인용|url=https://getcomposer.org/doc/03-cli.md|title=Command-line interface / Commands |website=getcomposer.org}}</ref>
* <code>require</code>: [[JSON|composer.json]] 파일의 변수에 라이브러리를 추가하고 설치한다.
* <code>install</code>: composer.json으로부터 모든 라이브러리를 설치한다. 모든 PHP 저장소 의존성을 다운로드하기 위해 사용되는 명령어이다.
* <code>update</code>: composer.json으로부터 모든 라이브러리를 업데이트하며, 이는 언급되는 허용 버전에 따른다.
* <code>remove</code>: 라이브러리의 설치 제거를 수행하고 composer.json으로부터 이를 제거한다.

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

<syntaxhighlight lang="javascript">
{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}
</syntaxhighlight>

== 지원되는 프레임워크 ==

* [[심포니 (웹 프레임워크)|심포니]] 버전 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]]

== 각주 ==
{{각주}}

== 외부 링크 ==
{{위키공용분류}}
* {{공식 웹사이트}}
* [https://github.com/composer/composer Composer on GitHub]
* [https://getcomposer.org/doc/ Composer documentation]
* [https://www.codementor.io/php/tutorial/composer-install-php-dependency-manager Composer Tutorial] {{웨이백|url=https://www.codementor.io/php/tutorial/composer-install-php-dependency-manager |date=20210508103033 }}
* [https://www.onlineinterviewquestions.com/creating-installer-laravel-project/ Automate basic composer tasks in Laravel]
* [https://packagist.org/ Packagist - the main Composer repository]
* {{Openhub|composer|Composer}}

{{PHP}}

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