Composer là gì ?

   Laravel 5.x |   12-06-2016 |   501

Composer là gì ?

Composer là một Dependency Management trong PHP, công cụ quản lý các thư viện mà project của bạn sử dụng, bạn chỉ cần khai báo nó, composer sẽ tự động tải code của các thư viện, tạo ra các file cần thiết vào project của bạn, và update các thư viện nếu cần.

Composer được gọi là Dependency Management. Nghĩa là nó giúp bạn quản lý các thư viện,  nó sẽ tải code của thư viện về và bỏ vào thư mục project luôn, nghĩa là nếu project A và B đều dùng chung thư viện tên là LIB_C, thì ở cả project A và project B đều sẽ có hai thư mục code của LIB_C độc lập với nhau.

Lợi ích của composer

Ngày xưa, khi không có composer, mỗi khi muốn sử dụng thư viện nào, bạn sẽ phải download code của thư viện đó về, đặt vào thư mục của project và sử dụng. Điều này sinh ra những bất lợi sau :

  1. Dung lượng project của bạn sẽ lớn vì cần phải cộng thêm code của các thư viện.
  2. Nếu bạn sử dụng git, SVN ( gọi chung là Version control system ) thì khi update các thư viện, bạn phải tạo các commit, mà thực sự các commit đó không phải của bạn.
  3. Khó khăn trong việc update version của các thư viện.
  4. Nếu thư viện A, có sử dụng thư viện B, thư viện B sử dụng thư viện C, thì nếu một trong các thư viện này có update, bạn sẽ phải tự mình lần mò về nguồn cội của nó để update, rất phức tạp.

Composer ra đời để giải quyết các vấn đề này, Với composer bạn sẽ cần khai báo tên và version của các thư viện mà bạn có sử dụng mà không cần phải tự tay chép code của nó vào project, composer sẽ tự động tìm và tải thư viện mà bạn cần, nếu trong thư viện đó có dùng các thư viện khác thì nó cũng sẽ tải các thư viện khác về, nó đệ quy cho đến khi tải đủ các thư viện.

Khi bạn sử dụng VCS, bạn sẽ chỉ cần commit tên version, tên thư viện ở file composer.json mà không cần phải commit những thay đổi trong code của các thư viện như ngày xưa nữa.

Nếu trong thư viện có sử dụng thư viện khác, và nó update code của các thư viện mà nó sử dụng, thì composer sẽ tự động update giùm bạn luôn, thật tiện lợi.

 

Tham khảo :

  1. Trang chủ Composer
  2. Tìm hiểu Composer  (qhonline.edu.vn – Kenny Huy)

 

 

Composer là gì ?
3.5 (70%) 2 votes
Từ khóa : ,