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.

Content must not be empty

Related Tutorial