Trước khi Composer ra đời và phổ biến như hiện nay, các nhà quản trị thường gặp khó khăn trong việc update hay các khâu cài đặt thì vô cùng khó nhớ, không đủ điều kiện tải xuống. Tuy nhiên sau sự ra đời của công cụ quản lý các thư viện trong các project – Composer đã thay đổi mọi thứ và được coi là một công cụ thiết yếu cho bất cứ ai lập trình PHP. Cùng Aptech theo dõi bài viết dưới đây để tìm hiểu đầy đủ và chi tiết nhất những kiến thức liên quan nhé!
Nội dung
Composer là gì?
Composer là một công cụ quản lý thư viện các dự án sử dụng trong lập trình PHP, được ra mắt vào ngày 1 tháng 3 năm 2012, tên tiếng anh còn gọi là Dependency Management. Công cụ này sẽ giúp quản lý các thư viện một cách chuyên biệt từng dự án, điều này hoàn toàn khác với các công cụ quản lý như Yum hay Apt. Do công cụ quản lý thư viện này là một mã nguồn mở (OpenSource) nên nếu có bất cứ câu hỏi hay thắc mắc nào người dùng đều có thể đặt câu hỏi và nhận được hỗ trợ thông qua trang Github chính thức.
Công cụ quản lý thư viện này giúp người dùng tiết kiệm được khá nhiều thời gian bởi sẽ bạn sẽ chỉ cần khai báo các thư viện và Composer sẽ tải mã code từ các thư viện, cài đặt các tệp cần thiết vào trong dự án của bạn đồng thời sẽ tự động cập nhật các thư viện khi có phiên bản mới. Ngoài ra, công cụ này không cho phép các dự án của bạn chia sẻ cùng một mã code từ thư viện, nhưng nó sẽ tải code từ các thư viện và đặt chúng vào các thư mục của các dự án đó.
Lợi ích
Composer ra đời nhằm giải quyết được các vấn đề khó khăn, bất lợi liên quan tới việc quản lý thư viện như dung lượng project lớn hay việc update, chèn thêm thông tin vào project cũng rất phức tạp và khó khăn. Công cụ quản lý này ra đời như là một giải pháp hữu ích để giải quyết những vấn đề khó khăn nói trên. Người dụng sẽ nhận được những lợi ích như:
Bạn chỉ cần khai báo tên và phiên bản của các thư viện mà bạn đang sử dụng mà không cần phải sao chép thủ công mã của nó vào dự án bởi Composer sẽ tự động tìm và tải thư viện bạn cần lên máy chủ. Nếu trong thư viện này bạn đang sử dụng các thư viện khác thì nó cũng sẽ tải các thư viện khác cho đến khi đầy đủ
Ngoài ra, nếu bạn sử dụng VCS người dùng sẽ chỉ phải cam kết tên phiên bản, tên thư viện trong tệp cấu hình composer.json mà không cần phải cam kết các thay đổi trong mã code thư viện như trước đây. Mặt khác, trong dự án của bạn có các thư viện nhưng thư viện đó sử dụng thư viện khác và một trong số chúng có cập nhật thì công cụ này sẽ tự động cập nhật cho bạn vô cùng tiện lợi và thuận tiện.
Cách sử dụng
Trước tiên bạn cần có một tệp chứa mọi thông tin mô tả các phần dependencies cần thiết có trong dự án của mình có tên là Composer.json. Các phụ thuộc bắt buộc sẽ được liệt kê trong key “require”. Trong thư mục dự án, bạn cần chạy lệnh cài đặt Composer bằng việc sử dụng thiết bị đầu cuối – terminal. Nó sẽ tìm kiếm thông qua các mục hiện có trong tệp Composer.json và thực hiện tất cả các công việc mà tệp yêu cầu.
Autoloading
Trong file chính của project, bạn cần thêm dòng “include_once ‘./vendor/autoload.php’;” vào file chính của dự án để Tất cả các package bạn cần được thêm vào project và sẵn sàng cho bạn được sử dụng. Hay như trong Laravel bạn chỉ cần đơn giản gõ “Composer dump-autoload” thì tất cả các thư viện trong Composer đã sẵn sàng để sử dụng trong toàn bộ project.
Cập nhật package
Bạn chỉ cần gõ Composer update để công cụ tự động cập nhật các package mà dự án đang sử dụng. Nếu bạn cần cập nhật các bản release hoặc các phiên bản mới hơn thì người dùng cần chỉnh sửa lại file Composer.json. Để tránh tình trạng không tương thích, người dùng không bao giờ chạy lệnh này trong môi trường production – sản xuất.
- Ajax là gì? Cách thức hoạt động Ajax sao cho tối ưu nhất
- NodeJS là gì? Những kiến thức cơ bản liên quan tới NodeJS
Hướng dẫn cài đặt
Để có thể cài đặt Composer vào máy thì người dùng cần cài đặt sẵn PHP 5.3.2+ và để hỗ trợ tốt các gói thư viện thì người dùng cần cài sẵn Git. Ngoài ra, công cụ quản lý thư viện có thể hỗ trợ tốt trên mọi nền tảng OS X, Windows và cả Linux.
Trên Linux/ Unix/ OSX
Với các nền tảng Linux, Unix hay OSX thì đều có cách cài đặt tương tự nhau. Người dùng có thể download composer.phar từ website https://getcomposer.org/ rồi chuyển nó vào thư mục bin bằng lệnh “sudo mv composer.phar /usr/local/bin/composer”. Thêm một cách nữa người dùng cũng có thể mở Terminal lên và nhập lần lượt những dòng lệnh dưới đây:
- sudo php -r “readfile(‘https://getcomposer.org/installer’);” > composer-setup.php
- sudo php composer-setup.php –install-dir=bin
- sudo php -r “unlink(‘composer-setup.php’);”
Trên Windows
Đối với hệ điều hành Windows người dùng thường có 2 cách cài đặt. Với cách cài tự động đây được xem là cách cài đặt dễ nhất, người dùng chỉ cần 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. 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ệnh Composer trên CMD.
Ngoài ra, tuy hơi dài dòng nhưng cài đặt Composer có thể được cài đặt với cách thủ công. Tương tự với cách cài đặt tự động thì người dùng cũng cần tải Composer.phar từ https://getcomposer.org/ sau đó chuyển thư mục vào trong bất kỳ thư mục mà bạn muốn. Bạn tạo tập tin có tên là composer.bat với nội dung “echo @php “%~dp0composer.phar” %*>composer.bat”. Và để dùng lệnh Composer trên CMD người dùng cần thêm thư mục Composer vào PATH environment variable. Sau đó người dùng có thể mở CMD và đánh vào câu lệnh “Composer -v” để kiểm tra
Lời kết
Công cụ quản lý thư viện Composer được sử dụng phổ biến ở khắp mọi nơi và trở thành một kiến thức quan trọng mà mọi lập trình viên PHP cần phải trang bị và nắm rõ. Nắm chắc định nghĩa gì cũng như lợi ích mà nó mang lại đồng thời là cách sử dụng đúng cách sẽ giúp cho việc quản lý thư viện trở nên đơn giản, thuận tiện hơn và giúp cho các lập trình dễ dàng quản lý, làm việc hơn. Nếu bạn có bất cứ câu hỏi nào liên quan vui lòng liên hệ với FPT Aptech thông qua địa chỉ website hoặc số hotline để nhận được câu trả lời sớm nhất.
FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng. |