Giới Thiệu Về Composer
Composer Là Gì
Composer là chương trình quản lý các thành phần phụ thuộc (hay dependecy) như các thư viện (library) hay các khung làm việc (framework) sử dụng trong dự án PHP. Composer cho phép bạn khai báo các thư viện và khung làm việc được sử dụng trong dự án và cũng đồng thời giúp quản lý (cài đặt, cập nhật phiên bản mới) của các thư viện và khung làm việc này.
Để thực hiện các công việc trên Composer sử dụng một tập tin có tên là composer.json
Tập Tin composer.json
Tập tin composer.json
dùng để khai báo các phần phụ thuộc sẽ được dùng trong dự án và nội dung của tập tin này được định dạng theo kiểu dữ liệu JSON.
Ví dụ một tập tin composer.json
như sau:
{
"require": {
"monolog/monolog": "1.0.*"
}
}
Tập tin trên sử dụng từ khoá require
để thông báo cho chương trình Composer biết rằng dự án sẽ cần sử dụng thư viện monolog
phiên bản 1.0*
(dấu *
có nghĩa là từ 1.0
cho tới trước 2.0
).
Vì các thành phần phụ thuộc (dependency) nhiều lúc còn được gọi với thuật ngữ chung là các gói package nên Composer ngoài việc được gọi là dependency manager thì còn được nhắc tới với tên khác là package manager của PHP.
Với tập tin composer.json
như trên, sử dụng chương trình Composer (cần phải cài đặt trên máy) bạn có thể cài đặt các thư viện hoặc khung làm việc nhờ sử dụng câu lệnh:
$ composer install
Để cập nhật phiên bản của các thư viện hay khung làm việc trong thành phần phụ thuộc bạn chạy câu lệnh:
$ composer update
Composer và Pear
Cả Composer và Pear đều là các chương trình quản lý các gói thư viện và framework của PHP. Tuy nhiên giữa Composer và Pear có một số điểm khác biệt nhất định. Một điểm khác biệt nổi bật đó là Composer chỉ cài đặt các thư viện hoặc khung làm việc cho từng dự án nhất định, ngược lại PEAR cài đặt các gói package trong phạm vi toàn hệ thống. Điều này có nghĩa khi bạn cài gói package sử dụng Pear thì bạn có thể sử dụng gói package này ở bất cứ dự án PHP nào trên hệ thống.
Composer và APT, YUM
Composer tương tự như các chương trình quản lý phần mềm APT (có trên Ubuntu) hay Yum (có trên CentOS). Tuy nhiên điểm khác biệt là Composer quản lý các thư viện và framework ở trong phạm vi các dự án PHP chứ không phải trên toàn bộ hệ thống máy tính như APT hay Yum.