Đối với lập trình viên, việc sử dụng các libraries (các thư viện) giúp cho công việc lập trình, xây dựng website trở lên dễ dàng hơn, tiết kiệm nhiều thời gian hơn và tối ưu được hệ thống của website. Tuy nhiên, các thư viện luôn chiếm dung lượng khá lớn, và việc lựa phải sử dụng thư viện nào, quản lý ra sao cũng có thể khiến lập trình viên phải đau đầu. Vì vậy, việc cần phải có một cách quản lý thư viện một cách tốt nhất, dễ dàng nhất giúp cho công việc của lập trình viên được giảm tải là điều cần thiết. Composer ra đời cũng nhằm mục đích đó. Vậy “composer là gì và cách sử dụng nó ra sao?” chúng ta sẽ tìm hiểu ngay sau đây.
Composer là gì?
Composer là một công cụ quản lý các thư viện trong PHP (Dependency Management), công cụ này giúp ta tiết kiệm khá nhiều thời gian với các gói thư việ cần thiết mà project của bạn cầ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 về thông qua một server cộng đồng. Ví dụ như việc bạn cần các thư viện như bootstrap, jquery hay các css framework khác, bạn chỉ cần khai báo vào composer và chạy lệnh thực thi, các thư viện bạn cần sẽ được tải về và được sắp xếp trong thư mục vendor của composer.
Việc cài đặt các thư viện thông qua composer được mô tả và liên kết qua file “composer.json” trong từng thư viện. Các thư viện này được cài đặt thông qua ý tưởng liên kết phụ thuộc trong từng thư viện source code cần thiết để xây dựng thư viện đó. Ý tưởng quản lý này được lấy cảm hứng từ Node NPM và Ruby bundle.
Tại sao lại cần Composer ?
Trước khi composer ra đời, nếu muốn sử dụng bất kỳ thư viện nào, bạn phải tải toàn bộ thư viện đó về hoặc có thể include thư viện vào trong HTML code một cách trực tiếp từ Content Delivery Network (CDN). Tuy nhiên không phải thư viện nào cũng có thể include thông qua CDN được, còn việc download toàn bộ thư viện về đương nhiên sẽ làm tăng dung lượng của thư mục, đồng nghĩa với việc website sẽ rất nặng, tốn tài nguyên.
Nếu sử dụng các công cụ quản lý source code như git, SVN, thì sau mỗi lần tải, hoặc cập nhật thư viện, bạn đương nhiên phải commit chúng lên. Điều này khiến việc quản lý code của bạn gặp khó khăn rất nhiều.
Bạn gặp những khó khăn trong việc update version của các thư viện. 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.
Nhờ có composer, bạn sẽ giảm tải được việc tiêu tốn tài nguyên server cho những thư viện thừa, đảm bảo việc quản lý code và dễ dàng trong việc cập nhật thư viện. Thật là tiện lợi phải không?
Hướng dẫn cài đặt composer
Để cài được composer vào máy bạn cần phải cài đặt sẵn PHP 5.3.2+, và nên cài sẳn Git để hỗ trợ tốt hơn với các gói thư viện. Composer hỗ trợ tốt trên ba nền tản OS X, Windows và cả Linux.
Composer Trên Linux / Unix / OSX
bạn mở Terminal lên và nhập lần lượt từng dòng lệnh sau:
sudo
php composer-setup.php --
install
-
dir
=bin
sudo
php -r
"unlink('composer-setup.php');"
Hoặc bạn có thể download composer.phar từ https://getcomposer.org/ (ở cuối trang) sau đó duy chuyển nó vào trong thư mục bin
bằng lệnh:
sudo mv composer.phar /usr/local/bin/composer
Composer Trên Windows
Có 2 cách cài đặt Composer trên Windows:
- Cài tự động là cách cài dễ dàng nhất, bạn chỉ việc tải về Composer-Setup.exe tại https://getcomposer.org/ sau đó cài như một phần mềm bình thường (nhớ trỏ đến php.exe đã cài sẵn trên máy tính đúng chỗ). Composer Installer sẽ tự động cài và thêm vào
PATH
sẵn cho bạn để bạn có thể dùng lệnhcomposer
trên CMD. - Cài thủ công hơi dài dòng một tí:
– Như ở trên, bạn tải về composer.phar từ https://getcomposer.org/ (ở cuối trang) sau đó duy chuyển nó vào trong thư mục bất kỳ bạn muốn, ở đây tớ ví dụ làC:\bin
nhé.
– Bạn tạo tập tin có tên là composer.bat với nội dung như sau:echo @php “%~dp0composer.phar” %*>composer.bat
– Để dùng được lệnh
composer
trên CMD bạn cần phải thêm thư mục Composer vào PATH environment variable.
Xong bây giờ bạn có thể mở CMD và đánh vào câu lệnh sau để kiểm tra: composer -v
Lời kết
Composer thực sự là một công cụ hữu ích để quản lý thư viện của PHP. Đặc biệt là với sự phát triển các framework hiện tại, việc cài đặt composer là cần thiết và với một vài framework như Laravel, thì composer đã trở thành công cụ bắt buộc phải có để tối ưu hệ thống của mình.
Hy vọng bài viết này giúp các bạn hiểu phần nào về composer và hỗ trợ các bạn trong việc làm quen với công việc lập trình sử dụng command.