차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:php_composer [2021/12/12 18:47] – 61.74.132.138 | tech:php_composer [2021/12/12 18:52] (현재) – [Php Composer] 61.74.132.138 | ||
---|---|---|---|
줄 9: | 줄 9: | ||
* https:// | * https:// | ||
- | ===== 의존성 관리도구 ===== | + | |
- | Composer는 패키지 관리도구가 아니다. 물론 각 프로젝트 단위로 패키지나 라이브러리를 다룬다면 그런 역할을 할 수 있다. 하지만 이 패키지나 라이브러리는 프로젝트 내 디렉토리 단위로 설치된다. (예로 vender) 기본적으로 composer는 __절대 전역적으로 사용하도록 설치하지 않는다__. 그러므로 의존성 관리도구라고 부른다. | + | Composer는 패키지 관리도구가 아니다. 물론 각 프로젝트 단위로 패키지나 라이브러리를 다룬다면 그런 역할을 할 수 있다. 하지만 이 패키지나 라이브러리는 프로젝트 내 디렉토리 단위로 설치된다. (예로 vender) 기본적으로 composer는 __절대 전역적으로 사용하도록 설치하지 않는다__. 그러므로 |
이 아이디어는 새로운 것이 아니며 Composer는 nodejs의 npm이나 ruby의 bundler에 커다란 영감을 얻어 만들어졌다. 그러나 이러한 도구는 PHP에 적합하지 않았다. | 이 아이디어는 새로운 것이 아니며 Composer는 nodejs의 npm이나 ruby의 bundler에 커다란 영감을 얻어 만들어졌다. 그러나 이러한 도구는 PHP에 적합하지 않았다. | ||
줄 22: | 줄 22: | ||
- Composer는 설치할 필요가 있는 패키지 버전을 찾아 설치한다. (프로젝트 안으로 설치한다는 뜻이다) | - Composer는 설치할 필요가 있는 패키지 버전을 찾아 설치한다. (프로젝트 안으로 설치한다는 뜻이다) | ||
- | ===== 의존성 | + | 개발하는 소프트웨어의 규모가 커지고 외부 라이브러리를 많이 사용할 수록 |
- | 프로젝트를 생성할 때 필요로 | + | 유의적 버전([[Semantic versioning]])은 이런 의존성 문제를 해결하고자 나온 |
- | < | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | </ | ||
- | ===== 시스템 요구사항 | + | =====설치===== |
+ | |||
+ | ==== 시스템 요구사항 ==== | ||
Composer는 동작하기 위해 PHP 5.3.2 이상을 요구한다. 또한 몇가지의 php 세팅과 컴파일 플래그를 필수적으로 요구하며 설치할 때 적합하지 않은 부분에 대해 경고해줄 것이다. | Composer는 동작하기 위해 PHP 5.3.2 이상을 요구한다. 또한 몇가지의 php 세팅과 컴파일 플래그를 필수적으로 요구하며 설치할 때 적합하지 않은 부분에 대해 경고해줄 것이다. | ||
줄 41: | 줄 36: | ||
Composer는 멀티플랫폼을 지원하며 Windows, Linux와 OSX에서 동일하게 동작하도록 만들기 위해 노력하고 있다. | Composer는 멀티플랫폼을 지원하며 Windows, Linux와 OSX에서 동일하게 동작하도록 만들기 위해 노력하고 있다. | ||
- | =====설치===== | ||
==== *nix 환경 설치 ==== | ==== *nix 환경 설치 ==== | ||
줄 102: | 줄 96: | ||
===== Composer 사용하기 ===== | ===== Composer 사용하기 ===== | ||
+ | ==== 의존성 선언 ==== | ||
+ | |||
+ | 프로젝트를 생성할 때 필요로 하는 라이브러리를 적어줘야 한다. 예를 들어 monolog를 프로젝트에서 사용하기로 결정했다고 치자. 그렇다면 필요로 하는 것은 composer.json 파일을 생성하고 프로젝트의 의존성을 명시적으로 작성해주면 된다. | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
이제 Composer를 사용해 프로젝트에서 의존하고 있는 라이브러리를 내려받는다. composer.json 파일이 현재 디렉토리에 존재하지 않는다면 Basic Usage 챕터로 넘어가도 된다. | 이제 Composer를 사용해 프로젝트에서 의존하고 있는 라이브러리를 내려받는다. composer.json 파일이 현재 디렉토리에 존재하지 않는다면 Basic Usage 챕터로 넘어가도 된다. | ||