Cách cài đặt và sử dụng PHP Composer trên Ubuntu 20.04 LTS

Soạn dự án PHP của bạn một cách dễ dàng bằng cách cho phép trình soạn nhạc quản lý tất cả các phần phụ thuộc

Composer là một công cụ quản lý phụ thuộc cho PHP. Nó khác với trình quản lý gói truyền thống, chẳng hạn như đúng cáchdnf, theo cách mà nó không cài đặt các gói & thư viện trên toàn cầu ở cấp độ toàn hệ thống mà nó xử lý chúng cho từng dự án riêng biệt. Vì vậy, nó là một trình quản lý phụ thuộc và không phải là một trình quản lý gói.

Giống như cách một nhà soạn nhạc sử dụng một loạt các nhạc cụ và sắp xếp chúng để hoạt động hoàn hảo trong một buổi hòa nhạc, Composer cho PHP sử dụng một loạt các thư viện và khuôn khổ, đóng gói chúng để hoạt động cùng nhau và tạo ra một nền tảng vững chắc cho một dự án PHP. sáng tác.

Điều kiện tiên quyết

Bạn cần quyền truy cập vào hệ thống Ubuntu 20.04 không phải root sudo tài khoản người dùng. Ngoài ra, bạn cần cài đặt một số phụ thuộc cho Composer, bao gồm php-cli để chạy các tập lệnh PHP trong thiết bị đầu cuối của bạn, giải nén để giúp Composer giải nén các gói đã tải xuống và Xoăn để tải xuống tập lệnh cài đặt trình soạn nhạc

Để cài đặt tất cả các gói được yêu cầu, hãy cập nhật danh sách gói Ubuntu bằng cách chạy lệnh cập nhật:

cập nhật apt sudo

Sau đó cài đặt php-cli, giải nénXoăn bằng cách sử dụng lệnh sau:

sudo apt install php-cli giải nén curl

Bạn sẽ được nhắc xác nhận cài đặt, nhấn Y sau đó nhấn enter. Sau khi bạn đã hoàn thành tất cả các điều kiện tiên quyết, bạn có thể tiếp tục cài đặt Composer.

Tải xuống và cài đặt Composer

Composer cung cấp một tập lệnh PHP gọn gàng để tải xuống và cài đặt nó trên máy của bạn từ dòng lệnh. Chúng ta cần sử dụng Xoăn để tải xuống tập lệnh này, hãy xác minh tính xác thực của nó vì lý do bảo mật và sau đó thực thi nó để cài đặt Composer.

Đảm bảo rằng thiết bị đầu cuối của bạn đang mở trong thư mục chính và sau đó tải xuống tập lệnh cài đặt bằng cách sử dụng Xoăn:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

Tiếp theo, chúng ta cần xác minh tập lệnh cài đặt mà chúng ta đã tải xuống là chính hãng bằng cách khớp mã băm SHA-384 của nó với mã được tìm thấy trên trang Composer Public Key / Checksums. Để làm như vậy, hãy lấy mã băm SHA-384 từ trang Khóa công khai của nhà soạn nhạc và lưu trữ nó trong một biến shell.

Hash = `curl -sS // composer.github.io / installer.sig`

Sau đó, xác minh rằng bạn đã lấy và lưu trữ thành công hàm băm trong biến bằng cách chạy:

echo $ Hash

Bạn sẽ nhận được đầu ra của một số chuỗi ngẫu nhiên như thế này từ thiết bị đầu cuối:

Đầu ra: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Bây giờ, hãy chạy mã PHP sau do Composer cung cấp để xác minh tính xác thực của tập lệnh cài đặt:

php -r "if (hash_file ('SHA384', 'composer-setup.php') === '$ Hash') {echo 'Trình cài đặt đã xác minh';} else {echo 'Trình cài đặt bị hỏng'; bỏ liên kết ('composer-setup .php ');} echo PHP_EOL; "
Đầu ra: Đã xác minh trình cài đặt

Nếu bạn thấy bất kỳ đầu ra nào khác, chẳng hạn như Trình cài đặt bị hỏngthì bạn sẽ biết rằng tập lệnh bị hỏng và không an toàn để chạy. Tải xuống lại tập lệnh bằng cách sử dụng curl, sau đó thực thi lại mã PHP trong thiết bị đầu cuối để xác minh tập lệnh cài đặt.

Bạn có thể tiếp tục cài đặt khi bạn đã xác minh trình cài đặt thành công. Bạn có thể cài đặt Install the Composer trên toàn cầu hoặc cục bộ cho một dự án.

Cài đặt Composer trên toàn cầu

Để cài đặt Composer trên toàn cầu dưới dạng lệnh trên toàn hệ thống có tên nhà soạn nhạc, chạy lệnh sau:

sudo php composer-setup.php --install-dir = / usr / local / bin --filename = composer

Composer sẽ được cài đặt trong / usr / local / bin thư mục trên hệ thống Ubuntu 20.04 của bạn và bạn sẽ thấy đầu ra như sau:

Đầu ra: Tất cả các cài đặt chính xác để sử dụng Tải xuống trình soạn nhạc ... Trình soạn nhạc (phiên bản 1.10.7) đã được cài đặt thành công vào: / usr / local / bin / composer Sử dụng nó: php / usr / local / bin / composer 

Xác minh rằng Composer được cài đặt đúng cách và hoạt động bằng cách chạy:

nhà soạn nhạc
Đầu ra: ______ / ____ / ___ ____ ___ ____ ____ ________ _____ / / / __ \ / __ `__ \ / __ \ / __ \ / ___ / _ \ / ___ / / / ___ / / _ / / / / / / / / _ / / / _ / (__) __ / / \ ____ / \ ____ / _ / / _ / / _ / .___ / \ ____ / ____ / \ ___ / _ / / _ / Phiên bản nhà soạn nhạc 1.10.7 2020-06- 03 10:03:56 Cách sử dụng: lệnh [tùy chọn] [đối số] 

Bạn đã cài đặt thành công trình soạn nhạc trên hệ thống Ubuntu 20.04 của mình. Bây giờ bạn có thể bắt đầu sử dụng Composer để quản lý, cập nhật và cài đặt các phần phụ thuộc trong các dự án PHP của mình ngay lập tức.

Cài đặt cục bộ trình soạn nhạc

Cài đặt cục bộ Composer hữu ích khi bạn không có quyền cài đặt nó ở cấp độ toàn hệ thống hoặc nếu bạn muốn Composer chỉ cho một dự án. Để cài đặt trình soạn nhạc chạy cục bộ:

php composer-setup.php

Lệnh trên sẽ tạo một tệp mới trong thư mục hiện tại của bạn có tên là nhà soạn nhạc.phar. Bạn sẽ cần phải di chuyển tệp này trong thư mục gốc của dự án để sử dụng các tính năng của Trình soạn nhạc. Tệp này có thể được chạy bằng lệnh hiển thị bên dưới.

php composer.phar

Kiến thức cơ bản về nhà soạn nhạc

Bây giờ, bạn đã cài đặt Composer trên máy Ubuntu 20.04 của mình, hãy cùng chúng tôi xem xét một số khái niệm cơ bản về Composer. Composer nhằm mục đích tạo điều kiện dễ dàng cài đặt và cập nhật các phụ thuộc và để làm như vậy, nó tạo ra nhiều tệp trong thư mục gốc của dự án. Chúng ta hãy xem cấu trúc thư mục của một dự án sử dụng Composer để quản lý các phần phụ thuộc.

Cấu trúc gốc của dự án Composer:ProjectRoot / ├── composer.json ├── composer.lock ├── Project.php ├── nhà soạn nhạc.phar * Chỉ khi bạn đã cài đặt Composer cục bộ └── người bán ├── autoload.php ├── nhà soạn nhạc │ ├── ClassLoader.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • Các nhà soạn nhạc.json tệp nằm trong thư mục gốc của dự án lưu trữ tất cả thông tin về các gói phụ thuộc (gói) mà dự án yêu cầu.
  • Các composer.lock giữ thông tin về các gói bị khóa phiên bản cho dự án.
  • người bán là thư mục lưu trữ tất cả các gói, nó cũng có một số tập lệnh PHP như autoload.php, điều này tạo điều kiện cho việc tự động đưa các gói vào thư mục của nhà cung cấp.
  • Cuối cùng, nếu bạn đã cài đặt Composer cục bộ, bạn phải có nhà soạn nhạc.phar tập tin trong thư mục dự án để cài đặt các gói.

Tất cả các tệp này được tạo khi bạn sử dụng nhà soạn nhạc hoặc là php composer.phar lệnh để tải xuống và cài đặt các gói cho dự án của bạn lần đầu tiên. Vì vậy, chúng ta hãy xem xét hoạt động của Composer bằng cách tạo một dự án Demo.

Tạo dự án đầu tiên của bạn bằng Composer

Bước đầu tiên là tạo một thư mục gốc cho dự án của bạn, vì vậy hãy tạo một thư mục với mkdir ra lệnh và điều hướng đến nó bằng cách sử dụng đĩa CD yêu cầu:

mkdir ~ / ComposerDemo cd ~ / ComposerDemo

Bây giờ, chúng ta cần tìm và cài đặt các gói / thư viện cần thiết để xây dựng dự án demo của chúng ta. Packagist là kho lưu trữ Composer chính liệt kê tất cả các gói PHP công khai có thể được cài đặt với Composer.

Trong ví dụ này, chúng tôi sẽ sử dụng một gói PHP có tên là cakephp / chronos, nó là một phần mở rộng API đơn giản cho ngày và giờ. Do đó, để tạo một dự án Composer mới và cài đặt gói Chronos, hãy chạy lệnh sau:

nhà soạn nhạc yêu cầu cakephp / chronos
Đầu ra: Sử dụng phiên bản ^ 2.0 cho cakephp / chronos ./composer.json đã được tạo Đang tải kho lưu trữ trình soạn nhạc với thông tin gói Cập nhật các phần phụ thuộc (bao gồm cả request-dev) Hoạt động gói: 1 cài đặt, 0 cập nhật, 0 xóa - Cài đặt cakephp / chronos (2.0.5 ): Đang tải xuống (100%) Đang ghi tệp khóa Tạo tệp tự động tải xuống 

Các yêu cầu tùy chọn tìm nạp và cài đặt gói bạn muốn và tạo các tệp và thư mục như nhà soạn nhạc.json, composer.lockngười bán trong thư mục gốc của dự án. Bạn sẽ thấy điều đó cakephp / chronos được thêm vào nhà soạn nhạc.json nếu bạn chạy lệnh sau:

nhà soạn nhạc mèo.json
Đầu ra: {"request": {"cakephp / chronos": "^ 2.0"}} 

Tiếp theo, hãy để chúng tôi sử dụng Chronos trong dự án Demo của chúng tôi, mở và tạo một tệp PHP có tên demo.php sử dụng nano:

nano demo.php

Sau đó, thêm mã sau vào demo.php, dòng thứ hai bao gồm nhà cung cấp / autoload.php là một tệp Composer tự động tải tất cả các gói và thư viện được cài đặt cho dự án. Lưu tệp bằng cách nhấn Ctrl + O và sau đó thoát khỏi trình chỉnh sửa nano bằng cách nhấn Ctrl + X.

Thực hiện demo.php bằng cách chạy lệnh sau:

php demo.php
Đầu ra: Hiện tại: 2020-06-23 17:07:45

Trong tương lai, khi bạn cần cập nhật các gói và thư viện của dự án của mình, chỉ cần chạy lệnh sau:

cập nhật nhà soạn nhạc

Lệnh trên sẽ kiểm tra phiên bản mới hơn của các gói đã cài đặt và cập nhật chúng một cách an toàn mà không phá vỡ dự án và các thư viện phụ thuộc lẫn nhau của nó.

Chúng tôi đã xem xét cách cài đặt Composer trên máy Ubuntu 20.04 và xem xét những điều cơ bản bạn cần biết về Composer. Bây giờ bạn có thể cố gắng xây dựng các dự án mới bằng cách thêm các gói cần thiết bằng cách tìm kiếm trên Packagist. Nếu bạn muốn tìm hiểu thêm về Composer và tùy chọn của nó, hãy truy cập trang tài liệu trực tuyến của Composer.