ducdev
Bài viết

Composer — Quản lý dependency PHP như một chuyên gia

Composer là công cụ quản lý dependency không thể thiếu trong PHP hiện đại. Học cách cài đặt package, quản lý version, dùng autoload và tối ưu cho production.

a
admin
17/06/2026 · 2 phút đọc · 5 lượt xem
Chia sẻ
Composer — Quản lý dependency PHP như một chuyên gia

Trước khi có Composer, lập trình viên PHP phải tải thủ công từng thư viện, quản lý version bằng tay, và copy-paste code vào project. Composer đã thay đổi hoàn toàn cách PHP ecosystem hoạt động.

Composer là gì?

Composer là package manager cho PHP, tương tự npm trong Node.js hay pip trong Python. Nó giúp bạn khai báo dependencies, tải và cài đặt với đúng version, tự động load class qua PSR-4 autoloading.

composer.json — Trái tim của project

{
    "name": "ducdev/my-blog",
    "require": {
        "php": "^8.1",
        "guzzlehttp/guzzle": "^7.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^10.0"
    },
    "autoload": {
        "psr-4": { "App\\": "src/" }
    }
}

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

# Cài tất cả dependencies
composer install

# Thêm package mới
composer require guzzlehttp/guzzle
composer require --dev phpunit/phpunit

# Cập nhật
composer update

# Xóa package
composer remove ten-package

# Tạo lại autoload
composer dump-autoload

Hiểu về version constraints

"guzzlehttp/guzzle": "7.5.0"   // Đúng version này
"guzzlehttp/guzzle": "^7.0"    // 7.x.x, không lên 8.0
"guzzlehttp/guzzle": "~7.5"    // 7.5.x, không lên 7.6
"guzzlehttp/guzzle": "*"       // Bất kỳ (NGUY HIỂM)

Dùng ^ (caret) trong hầu hết trường hợp — cho phép cập nhật minor và patch, không cho phép breaking change.

composer.lock

File composer.lock ghi lại version chính xác của mọi package đã cài. Luôn commit file này vào git. Không commit thư mục vendor/ — thêm vào .gitignore.

Autoloading với PSR-4

require __DIR__ . '/vendor/autoload.php';

use App\Controllers\PostController;
$controller = new PostController();

Tối ưu cho production

composer install --no-dev --optimize-autoloader
composer.lock là giao kèo giữa bạn và tương lai của bạn. Commit nó, đừng xóa nó, và đừng chỉnh tay vào nó.

Kết luận

Composer đã trở thành tiêu chuẩn không thể thiếu trong PHP hiện đại. Mọi framework, mọi thư viện đều được phân phối qua Packagist. Thành thạo Composer là kỹ năng nền tảng của mọi PHP developer chuyên nghiệp.

#PHP #Composer #dependency management #autoload
a
Tác giả
admin

Lập trình viên, yêu thích chia sẻ kiến thức về công nghệ và phát triển phần mềm.

Bình luận

Chưa có bình luận. Hãy là người đầu tiên!

Để lại bình luận

Bình luận sẽ được duyệt trước khi hiển thị.