PHP 생태계에서 Composer는 사실상 표준으로 자리잡은 의존성 관리 도구(Dependency Manager) 입니다.
Node.js에 npm, Python에 pip이 있다면, PHP에는 Composer가 있다고 보면 이해하기 쉽습니다.
Composer는 단순히 라이브러리를 설치하는 것에서 그치지 않고,
- 버전 관리, 자동 로딩(autoload),
- 프로젝트 단위의 일관성 유지
PHP 개발자가 협업을 하거나 오픈소스 패키지를 활용할 때 필수적인 도구라 할 수 있음.
PHP 프로젝트에 사용되거나 사용되어야 할 라이브러리들을 기록하고 설치할 수 있게 해줌.
PHP 버전에 따른 패키지 설치 버전을 자동으로 정리해준다.
컴퓨터에 composer 를 설치하고 터미널에 composer 명령어를 통해서 composer.json에 기록된 내용을 확인하고 패키지를 자동으로 다운로드 한다. 또한 원하는 패키지를 설치하고 설치된 버전을 composer.lock 에 기록해 둔다.
이러한 일련의 작업은, 버전에 따른 충돌 오류를 없애주고 언제든 기존 작업을 그대로 재현하기 위해서 탄생하였다.
Composer의 핵심 개념
1. composer.json
프로젝트의 설정 파일입니다. 여기에는 어떤 패키지를 설치할지, PHP 버전 요구사항, 오토로드 규칙 등이 정의됩니다.
{
"require": {
"monolog/monolog": "^3.0"
}
}위 설정은 monolog/monolog 패키지를 3.0 이상의 최신 버전으로 설치하라는 의미입니다.
2. composer.lock
실제로 설치된 패키지와 그 버전 정보가 기록됩니다.
이 파일 덕분에 팀원 모두가 같은 버전의 라이브러리를 사용하여 환경 차이로 인한 오류를 줄일 수 있습니다.
3. vendor/ 디렉토리
Composer가 패키지를 내려받아 저장하는 폴더입니다. 또한 autoload.php 파일을 생성해, PHP에서 라이브러리를 손쉽게 불러올 수 있도록 합니다.
Composer의 장점
- 의존성 해결
패키지 간의 복잡한 버전 충돌을 Composer가 자동으로 해결합니다. - 자동 로딩
require문을 일일이 작성하지 않아도, autoload.php만 불러오면 모든 클래스가 자동으로 로딩됩니다. - 프로젝트 일관성 유지
composer.lock 파일 덕분에, 개발자마다 같은 환경을 보장할 수 있습니다. - 방대한 패키지 생태계
Packagist와 연동되어 수십만 개의 PHP 라이브러리를 바로 가져올 수 있습니다.
핵심요약 :
Composer 실행환경
설치방법
로컬 설치
curl -sS https://getcomposer.org/installer | php
php -r "readfile('https://getcomposer.org/installer');" | php
현재의 디렉토리에 composer.phar 파일을 다운로드 함. <- (컴포저 실행파일 임.)
글로벌 설치
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
명령어
composer require
[-s|--stability STABILITY]
[--prefer-source]
[--prefer-dist]
[--prefer-install PREFER-INSTALL]
[--repository REPOSITORY]
[--repository-url REPOSITORY-URL]
[--add-repository]
[--dev]
[--no-dev]
[--no-custom-installers]
[--no-scripts]
[--no-progress]
[--no-secure-http]
[--keep-vcs]
[--remove-vcs]
[--no-install]
[--no-audit]
[--audit-format AUDIT-FORMAT]
[--ignore-platform-req IGNORE-PLATFORM-REQ]
[--ignore-platform-reqs]
[--ask]
[--]
[<package> [<directory> [<version>]]]
정리글
Composer는 단순한 패키지 관리 툴이 아니라, 현대 PHP 개발의 필수 인프라입니다.
Laravel, Symfony, WordPress 플러그인 개발까지 대부분의 PHP 프로젝트가 Composer를 기반으로 돌아가고 있습니다.
따라서 PHP 개발을 시작한다면 가장 먼저 Composer를 설치하고, 이를 활용한 의존성 관리와 오토로드 방식을 익히는 것이 중요합니다.
좀더 자세한 내용 알아보기
https://xpressengine.github.io/Composer-korean-docs/doc/00-intro.md/
소개하기
소개하기 컴포저는 PHP 에서 의존성을 관리하기 위한 툴입니다. 컴포저는 프로젝트를 위한 라이브러리들을 선언하고 의존성이 있는 라이브러리들을 설치할 수 있게 해줍니다. 의존성 관리 컴포
xpressengine.github.io
'프로그래밍 > PHP' 카테고리의 다른 글
| PHP > 널 세이프 연산자, 널 병합 연산자 (0) | 2024.11.08 |
|---|---|
| Php - foreach 사용법 (0) | 2023.01.20 |
| Php Php 에서 ::(이중콜론) 과 ->(화살표) 사용 방법의 차이 (0) | 2022.10.13 |
| [PHP] 세션확인 후 로그인 페이지로 이동하기 (0) | 2022.09.19 |
| [PHP] 기본익히기 (0) | 2022.08.13 |