Công nghệ thông tin

Composer là gì? Hướng dẫn cài đặt và sử dụng Composer PHP từ A-Z

Lương Đàm 04/04/2025 11:46

Composer là công cụ quản lý thư viện mạnh mẽ trong PHP, giúp tự động cài đặt, cập nhật và đồng bộ dependencies cho dự án.

Sử dụng Composer trong lập trình PHP - VniTeach - Giáo viên 4.0

Composer là gì? Composer PHP là gì?

Composer là một công cụ Dependency Management (quản lý phụ thuộc) dùng để quản lý các thư viện mà dự án PHP của bạn phụ thuộc vào. Cụ thể, Composer sẽ giúp theo dõi, cài đặt và cập nhật các gói mã nguồn, thư viện cần thiết cho project.

Với Composer, bạn có thể khai báo và chỉ định các thư viện cần thiết. Công cụ này sẽ tự động tải mã code, tạo ra các file cần thiết để sử dụng trong project. Composer cũng hỗ trợ cập nhật thư viện khi có phiên bản mới để đảm bảo mọi thứ luôn hoạt động tối ưu.

Lợi ích của Composer

Composer được lấy cảm hứng từ các công cụ như npm (Node.js), APT (Ubuntu) và Yum (CentOS), nhưng chỉ tập trung vào quản lý thư viện PHP trong phạm vi dự án.

Trước khi Composer xuất hiện, người lập trình gặp nhiều khó khăn:

  • Phải tải thư viện bên ngoài và thêm vào project thủ công, dễ lỗi.
  • Khó quản lý các thư viện phụ thuộc lẫn nhau, đặc biệt khi cập nhật.

Với Composer, mọi thứ trở nên đơn giản hơn:

  • Khai báo thư viện sử dụng trong file composer.json
  • Quản lý phiên bản rõ ràng
  • Cài đặt và đồng bộ dễ dàng

Các yếu tố quan trọng đối với Composer

composer.json và composer.lock

Đây là 2 file trung tâm của dự án dùng Composer.

  • composer.json: khai báo các dependencies (thư viện phụ thuộc), bao gồm tên, phiên bản, license...
  • composer.lock: lưu thông tin chi tiết các gói đã được cài đặt (phiên bản cụ thể) để đảm bảo mọi người làm việc cùng một phiên bản giống nhau.

Ví dụ composer.json:

{ "name": "wataridori/bphalcon", "type": "project", "description": "A small library which implement some features to phalcon", "license": "GPL-3.0", "authors": [ { "name": "Tran Duc Thang", "email": "thangtd90@gmail.com" } ], "require": { "php": ">=5.4" } } 

composer.lock sẽ ghi nhận phiên bản chính xác đã cài. Ví dụ: yêu cầu >=3.4.5, Composer cài 3.4.5 (mới nhất thỏa mãn), và ghi lại vào composer.lock. Lần sau, vẫn sẽ dùng đúng bản 3.4.5 để đảm bảo đồng bộ môi trường làm việc.

Sử dụng Composer trong lập trình PHP - VniTeach - Giáo viên 4.0

Packagist là gì?

Packagistkho lưu trữ chính thức của Composer. Tại đây, bạn có thể tìm kiếm, chia sẻ, hoặc tải về các package PHP.

Người dùng có thể:

  • Tìm kiếm thư viện
  • Cài đặt vào project bằng Composer
  • Tự tạo và publish package lên cho cộng đồng sử dụng

Cách sử dụng Composer

Tạo file composer.json

Trước tiên, bạn cần có file composer.json để Composer biết được các thư viện nào cần cài đặt.

Ví dụ:

{ "name": "laravel/laravel", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "require": { "laravel/framework": "5.8.*" } } 

Dấu * trong phiên bản 5.8.* nghĩa là chấp nhận tất cả phiên bản trong chuỗi 5.8 (ví dụ: 5.8.11, 5.8.12,…)

Cài đặt dependencies

Dùng terminal hoặc dòng lệnh:

composer install 

Lệnh này sẽ tìm composer.json và tự động cài các thư viện được yêu cầu.


Autoloading

Trong file PHP chính của dự án, thêm dòng sau:

include_once './vendor/autoload.php'; 

Nếu bạn cần tạo lại file autoload sau khi thêm class, dùng lệnh:

composer dump-autoload 

Sau khi autoload được cập nhật, toàn bộ package đã cài sẽ sẵn sàng để sử dụng trong dự án.


Cập nhật package

Để cập nhật toàn bộ package:

composer update 

Nếu muốn cập nhật lên version mới hơn, hãy sửa composer.json rồi chạy lại lệnh trên.

Lưu ý:
Không nên chạy composer update trong môi trường production, vì có thể làm thay đổi các thư viện, gây lỗi hoặc mất ổn định hệ thống. Hãy kiểm tra trước ở local/dev để đảm bảo an toàn.


Cách cài đặt Composer

Yêu cầu hệ thống

  • PHP >= 5.3.2
  • Git (để hỗ trợ tải các package)

Trên Windows

Cách 1: Cài đặt tự động

  • Tải file Composer-Setup.exe tại https://getcomposer.org/
  • Cài đặt như phần mềm thông thường
  • Composer sẽ tự thêm vào PATH để sử dụng qua CMD

Cách 2: Cài đặt thủ công

  • Tải composer.phar tại website
  • Di chuyển file vào thư mục mong muốn
  • Tạo file composer.bat với nội dung:
@php "%~dp0composer.phar" %* 
  • Thêm đường dẫn thư mục vào PATH
  • Mở CMD, chạy lệnh:
composer -v 

Trên Linux / Unix / macOS

Cách 1: Dùng curl và chuyển file vào thư mục global

curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer 

Cách 2: Cài đặt thông qua dòng lệnh

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');" 

Các câu lệnh của Composer

Global Options (Tùy chọn toàn cục)

  • --verbose (-v): Hiển thị chi tiết khi thực thi lệnh
  • --help (-h): Hiển thị trợ giúp
  • --quiet (-q): Ẩn tất cả thông báo
  • --no-interaction (-n): Không yêu cầu xác nhận khi thực thi
  • --working-dir (-d): Thiết lập thư mục làm việc
  • --profile: Hiển thị thời gian và bộ nhớ sử dụng
  • --ansi: In kết quả với mã hóa ANSI
  • --no-ansi: Không sử dụng mã hóa ANSI
  • --version (-V): Hiển thị phiên bản Composer hiện tại

Các câu lệnh thường dùng

  • init: Tạo file composer.json để khai báo thông tin package
  • install: Cài đặt các package trong composer.json và cập nhật composer.lock
  • require: Thêm/chỉnh sửa package mới vào composer.json và cài đặt ngay
  • global: Cài đặt các package trên toàn hệ thống, không chỉ riêng project hiện tại
  • search: Tìm kiếm package trong local hoặc Packagist
  • show: Hiển thị danh sách package đang cài hoặc thông tin chi tiết
  • depends: Hiển thị thông tin phụ thuộc giữa các package
  • validate: Kiểm tra tính hợp lệ của file composer.json
  • status: Kiểm tra các thay đổi với dependencies
  • self-update: Cập nhật phiên bản Composer
  • config: Thiết lập các cấu hình
  • create-project: Tạo một project từ package sẵn có
  • dump-autoload: Cập nhật autoloader khi có thay đổi class
  • licenses: Hiển thị giấy phép các package đang dùng
  • run-script: Chạy một script thủ công đã định nghĩa
  • diagnose: Kiểm tra vấn đề đang xảy ra với Composer
  • archive: Tạo file nén (zip/rar) cho một package
  • help: Hiển thị thông tin chi tiết về một lệnh cụ thể

Lời kết

Như vậy, bạn đã nắm rõ Composer là gì, lợi ích của nó, cách cài đặt, sử dụng, quản lý thư viện cũng như các lệnh quan trọng. Composer đã trở thành công cụ không thể thiếu với lập trình viên PHP hiện đại nhờ khả năng quản lý dependencies nhanh, chuẩn và linh hoạt.

x

Nổi bật

    Mới nhất
    Composer là gì? Hướng dẫn cài đặt và sử dụng Composer PHP từ A-Z
    • Mặc định
    POWERED BY ONECMS - A PRODUCT OF NEKO