Hướng dẫn dùng .net install trong PHP

Composer là một công cụ quản lý các Dependency [bạn có thể hiểu là các thư viện mà chỉ dự án của bạn sử dụng - không dùng bởi nhiều dự án] trong PHP. Vậy Composer quản lý thư viện dựa trên từng Project PHP riêng biệt của bạn, nó cài đặt các thư viện này vào một thư mục có tên vendor trong dự án [mỗi dự án có một thư mục vendor]. Composer tự động sinh ra file vendor/autoload.php, từ file này giúp bạn nạp các thư viện đã cài đặt [Nó áp dụng cơ chế tự động nạp theo chuẩn PSR-4 Autoloader] và cả PSR-0 [lỗi thời].

Lợi ích khi sử dụng Composer

Nói chung là các dự án PHP ngày nay là không thể thiếu Composer, vì chúng thường sử dụng rất nhiều loại thự viện. Nếu cài đặt thư viện thủ công thật sự là ác mộng [tích hợp, cập nhật cực cừ mệt mỏi]. Khi có Composer dùng thư viện nào chỉ việc khai báo hay gõ tích hợp, khi cập nhật thự viện nào đó, nó cũng tự động giúp bạn cập nhật luôn các thư viện khác mà thư viện cập nhật dùng tới.

Cài đặt Composer

Composer được viết bằng PHP mã đóng gói dạng PHAR, nên muốn dùng Composer phải chắc chắn máy đã cài đặt PHP. Từ terminate gõ lệnh sau kiểm tra xem máy có PHP hay chưa, nếu chưa có bạn phài cài PHP trước [xem Cài đặt PHP]

# php -v
PHP 5.6.25 [cli] [built: Aug 18 2016 11:39:15]
Copyright [c] 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright [c] 1998-2016 Zend Technologies

Cài đặt Composer trên Windows

Tải Composer-Setup.exe và chạy nó, thật đơn giản.

Sau khi cài đặt, để gọi được lệnh Composer ở bất kỳ đâu [dù đứng ở thư mục nào] thì thêm vào hệ thống Windows, giá trị C:\ProgramData\ComposerSetup\bin vào biến môi trường PATH

Cài đặt Composer trên CentOS/RHEL/Ubuntu

# sudo curl -sS //getcomposer.org/installer | php

# Để gọi được Composer ở bất kỳ đâu
# mv composer.phar /usr/local/bin/composer

Kiểm tra Composer và vài lệnh tổng quan

Từ dòng lệnh terminate gõ cách lệnh:

#Kiểm tra phiên bản Composer
# composer -v
  Composer version 1.8.0 2018-12-03 10:31:16

#Cập nhật Composer
# composer -selfupdate

#Xóa cache composer | xóa đi các thư viện tải sẵn trong cache, để bắt nó tải lại
# composer clearcache

#Tìm các gói thưu viện
# composer search từ_tìm_kiếm

Khi chạy các lệnh Composer cho từng dự án, bạn chạy trên dòng lệnh terminate, bắt buộc chyển đến folder chứa dự án để chạy bằng lệnh cd.

Sử dụng Composer cơ bản trong dự án PHP

Composer cho một dự án mới

Mọi thiết lập Composer cho dự án đều chứa trong file composer.json, nếu chưa có file này cho dự án thì bắt đầu khởi tạo như sau:

# Composer int

Sau lệnh này nó yêu cầu bạn nhập một số thông tin của dự án, hãy nhập thông tin của bạn vào

Package name [/] [xt/xt]: xtlab/myproject01
Description []: Day la du an PHP
Author [XTLAB , n to skip]: XUANTHULAB 
Minimum Stability []: beta
Package Type [e.g. library, project, metapackage, composer-plugin] []:
License []:
Define your dependencies.
Would you like to define your dependencies [require] interactively [yes]? no
Would you like to define your dev dependencies [require-dev] interactively [yes]? no
Do you confirm generation [yes]? y

Sau khi nhập thông tin về dự án của bạn như trên xong, Composer đã sinh ra file composer.json

{
    "name": "xtlab/myproject01",
    "description": "Day la du an PHP",
    "authors": [
        {
            "name": "XUANTHULAB",
            "email": ""
        }
    ],
    "minimum-stability": "beta",
    "require": {}
}

Sau này, bạn các tùy biến, thiết lập, tích hợp thư viện trên dự án của bạn sẽ tự động cập nhật vào file này!

Tích hợp thư viện vào dự án bằng Composer

Trước hết xác định xem dự án của bạn cần thư viện nào, tìm tại //packagist.org/

Ví dụ, bạn muốn sử dụng thư viện monolog/monolog phiên bản mới nhất [thư viện lưu log thông dụng cho php], thì từ dòng lệnh gõ

# composer require monolog/monolog

Sau lệnh này, Composer sẽ tải tất cả các thành phần để dùng được thư viện monolog/monolog vào dự án của bạn, nó lưu tại vendor, đồng thời cũng có luôn file vendor/autoload.php

Mở lại file composer.json bạn thấy đã có thêm đoạn mã:

{
    "require": {
        "monolog/monolog": "^1.24"
    }
}

Điều này cho biết, dự án bạn dùng thư viện nào, sau này bạn chia sẻ dự án [copy dự án đi cho khác] bạn không cần phải copy cả thư mục vendor, mà chỉ cần file composer.json, composer sẽ cập nhật lại vendor cho bạn.

Ngoài cách gõ lệnh như trên, bạn cũng có thể viết thư viện cần dùng vào composer.json rồi gọi lệnh:

# composer update

Nó cũng sẽ kiểm tra và cài đặt tất cả các thư viện cần thiết nếu chưa có. Ví dụ, giờ bạn lại muốn dùng thêm thư viên filp/whoops, phiên bản 2.3.1 [thư viện chuyên hiện thị thông báo lỗi đẹp mắt - tiện dụng để debug].

Thay vì cách gõ lệnh như trên, bạn sẽ chỉnh sửa composer.json thêm vào nội dung phần require nội dung mô tả thư viện whoops: "tên-thư-viện":"^phiên-bản-nhỏ-nhất"

{
    "require": {
        "monolog/monolog": "^1.24",
        "filp/whoops": "^2.3.1"
    }
}

Sau đó gõ lệnh composer update, để cài đặt thư viện. Với cách này bạn có thể liệt kê tất cả các thư viện cần dùng, rồi gõ một lệnh để cài đặt.

Như trên đã nói, Composer sinh ra file vendor/autoload.php, bạn chỉ việc include, là có thể sử dụng các thư viện.

Ví dụ, sử dụng thư viện monolog/monolog ở trên trong file index.php

Chủ Đề