
라이브러리는 자신 또는 다른 프로그래머가 작업을 수행하기 위해 이미 작성한 코드를 개발자가 사용할 수 있게 한다. Composer라는 도구는 개발자가 사이트를 실행하는 데 필요한 라이브러리의 관리에 도움을 준다.
다른 프로그래머가 작성한 라이브러리를 사용하면 동일한 작업을 수행하기 위한 코드를 처음부터 작성하지 않아도 된다.
라이브러리가 업데이트되면 새로운 버전 번호가 주어진다.
메이저 버전은 v1, v2, v3 등과 같이 정수를 사용한다. 메이저 업데이트라면, 해당 라이브러리를 사용하는 PHP 페이지의 코드를 수정해야 할 것이다.
마이너 업데이트나 포인트 릴리즈는 일반적으로 소규모의 업데이트와 버그 수정을 제공한다. 이것은 v2.1, v2.1.1, v2.1.2, v2.3와 같이 포인트와 두 번째 또는 세 번째 숫자를 사용한다. 이것은 해당 라이브러리를 사용하는 방법에는 거의 영향을 주지 않을 것이다.
사이트에 필요한 라이브러리가 설치되어 있고, 이 라이브러리가 올바른 버전인지 확인하는 것은 복잡한 일이었지만, Composer라는 도구를 사용하면 쉽다.
Composer와 함께 작동하도록 설계된 라이브러리를 패키지라고 한다.
Composer는 개발자가 컴퓨터에서 실행하여 라이브러리를 관리하고 사이트에서 동작하도록 설계된 각 라이브러리의 버전을 기록할 수 있는 무료 소프트웨어다.
라이브러리가 Composer와 함께 동작하려면, 라이브러리를 만든 사람이 라이브러리에 대한 모든 코드를 단일 폴더에 넣고 composer.json이라는 파일을 추가해야 한다. 이 파일에는 Composer에게 알려줄 라이브러리와 현재 버전에 대한 정보가 포함된다.
전체적으로 라이브러리와 composer.json 파일을 포함하는 폴더를 패키지라고 한다.
라이브러리를 만든 사람은 Packagist 웹사이트에 패키지를 올릴 수 있다. 이것은 사람들이 자신에게 도움이 될 수 있는 라이브러리를 찾는 검색 엔진과 같으며 패키지 저장소라고도 한다.
라이브러리의 새 버전이 출시되면, Composer가 이 패키지에 다른 버전의 라이브러리가 포함되었다는 것을 알 수 있도록 라이브러리 개발자는 composer.json 파일을 업데이트한다. 그런 다음 새로운 버전을 사용할 수 있다는 것이 표시되도록 Packagist 웹사이트를 업데이트한다.
Composer를 사용하여 사이트가 의존하는 패키지를 설치하면, 패키지의 버전을 추적하고 관리하는 데 도움이 되는 파일과 폴더가 루트 디렉터리 안에 생성된다.
require 명령을 사용하여 웹사이트를 위한 첫 번째 패키지를 가져오면, Composer는 일련의 파일과 폴더를 사이트의 루트 디렉터리에 추가한다. 이후에 다른 패키지를 추가하면 Composer는 이러한 파일과 폴더를 업데이트한다.
파일 / 폴더 : 목적
- composer.json : 이 PHP 프로젝트가 의존하는 패키지에 대한 세부 정보를 가진 파일
- composer.lock : 패키지 버전과 어디서 다운로드되었는지에 대한 데이터를 가진 파일
- vendor/ : 패키지를 보유하는 데 사용되는 루트 디렉터리의 폴더
- vendor/autoload.php : 패키지에 대한 클래스들을 오토로드하기 위해 페이지에 인클루드할 파일
- vendor/composer/ : Composer가 클래스의 오토로딩을 구현하는 데 사용하는 파일이 있는 폴더
출처 - 존 두켓, <백엔드 프로그래밍을 위한 PHP & MySQL>, Jpub, 2022