Composer

Programming/PHP 2016. 2. 26. 22:30

PHP 개발에서 패키지 간의 의존성을 관리하는 도구이다.

패키지 리스트(https://packagist.org/) 에서 원하는 패키지를 쉽게 검색할 수 있다.

원하는 패키지를 프로젝트의 composer.json 에 선언하고 설치하면 즉시 해당 라이브러리들을 사용할 수 있다.

멀티 플랫폼을 지원하며 Linux / Windows / OSX 에서 동일하게 동작한다.



시스템 요구사항


PHP 5.3.2 이상



설치


Windows 는 https://getcomposer.org/download/ 에서 다운받아 바로 설치 할 수 있다.

설치는 아래 방법보다 위 composer 사이트에서 최신 메뉴얼을 이용하는 것이 좋다.


Linux / Unix / OSX 의 경우, 프로젝트 디렉토리에서 다음과 같이 인스톨러를 실행하면, 현재 디렉토리에 컴포저 실행파일인 composer.phar 가 설치된다.


1
$ curl -sS https://getcomposer.org/installer | php
cs


curl 이 설치되어 있지 않거나 위 방법이 실패한다면 php 명령으로 인스톨러를 다운로드 한다.


1
$ php -"readfile('https://getcomposer.org/installer');" | php
cs


현재 디렉토리가 아닌 다른 디렉토리에 설치하고 싶다면 다음과 같이 원하는 디렉토리를 명시할 수 있다.


1
$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
cs


환경 변수 PATH 가 설정되어 있는 디렉토리로 이동시키면 어디서든 컴포저를 구동할 수 있다.



컴포저를 사용하여 패키지 다운로드


원하는 패키지를 검색했다면, 프로젝트 디렉토리에 composer.json 을 생성하고 형식에 맞게 JSON 포맷으로 패키지를 선언한다.

예를 들어, 다음은 monolog 1.2 로 시작하는 패키지를 사용하는 방법이다.


1
2
3
4
5
{
    "require": {
        "monolog/monolog""1.2.*"
    }
}
cs


require 로 다운로드 할 패키지 이름(vendor/package)과 패키지 버전(1.2.*)을 선언하는 형태이다.

install 과 동시에 생성되는 composer.lock(잠금설정) 파일은 설치한 패키지들의 버전 목록이 저장된다.


composer.json 파일에 패키지를 선언했으면 다음 명령으로 패키지 라이브러리를 현재 디렉토리의 vendor 디렉토리에 다운로드한다.


1
2
3
$ php composer.phar install
or
$ composer install
cs



오토로딩


다운로드된 라이브러리의 모든 클래스들을 사용하려면 PHP 코드의 처음에 오토로딩이 필요하다.


1
2
<?
require 'vendor/autoload.php';
cs




WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,