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, nhưng không giống như Yum hoặc Apt, Nó không cho các project của bạn dùng chung một đoạn code của thư viện, mà ở mỗi project, 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.
Composer là một project mà nguồn mở, nghĩa là bạn có thể fork nó và phát triển lại, comtribute cho nó. … Bạn có thể xem mã nguồn của nó ở link bên dưới :
https://github.com/composer/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 :
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.
Mình tách phần cài đặt composer ra thành một bài viết riêng để cho các bạn tiện theo dõi :
Unpublished comment
Viết câu trả lời