PHP 초보자를 위한 Composer: 의존성과 오토로딩
새 PHP 프로젝트를 시작하고 로깅이나 HTTP 요청을 위한 라이브러리가 필요합니다. 코드를 복사-붙여넣기하지만 금방 지저분해집니다. 외부 라이브러리를 제대로 관리하려면 어떻게 해야 할까요? Composer는 의존성과 오토로딩을 처리하여 이 문제를 해결합니다. 이 가이드에서는 처음부터 Composer를 사용하는 방법을 배웁니다.
Composer란 무엇인가?
Composer는 PHP용 의존성 관리자입니다. 프로젝트가 의존하는 라이브러리를 선언하고 이를 관리할 수 있게 해줍니다. apt나 yum 같은 패키지 관리자가 아니며, 프로젝트별로 작동하여 의존성을 vendor 디렉토리에 설치합니다.
Composer 설치하기
먼저 터미널에서 composer --version을 실행하여 Composer가 이미 설치되어 있는지 확인하세요. 설치되어 있지 않다면 getcomposer.org에서 다운로드하여 설치하세요. Windows에서는 Composer-Setup.exe 설치 프로그램을 사용하세요. macOS/Linux에서는 설치 스크립트를 실행하세요.
composer.json 파일 생성하기
모든 Composer 프로젝트에는 의존성을 설명하는 composer.json 파일이 있습니다. 수동으로 만들거나 다음을 실행할 수 있습니다:
composer init
이 대화형 명령은 패키지 이름, 설명, 작성자 및 의존성을 묻습니다. 지금은 의존성 추가를 건너뛰고 나중에 파일을 편집할 수 있습니다.
의존성 추가하기
라이브러리를 추가하려면 composer require를 사용하세요. 예를 들어, 인기 있는 monolog/monolog 로깅 라이브러리를 추가하려면:
composer require monolog/monolog
Composer는 라이브러리와 그 의존성을 vendor 디렉토리에 다운로드하고 composer.json과 composer.lock을 업데이트합니다.
버전 제약 이해하기
Composer는 시맨틱 버전 관리를 사용합니다. 일반적인 제약 조건:
^1.2는1.x로의 업데이트를 허용하지만2.0은 허용하지 않습니다 (라이브러리에 권장).~1.2는1.2.x로의 업데이트를 허용하지만1.3은 허용하지 않습니다.1.2.*는 모든1.2.x버전을 허용합니다.>=1.2