Làm cách nào để cài đặt PHP bằng Composer?

Sự phụ thuộc là cần thiết cho sự phát triển hiện đại. Chúng giúp bạn tiết kiệm thời gian và năng lượng. Tất cả các chức năng bạn có thể cần cho ứng dụng của mình như gửi e-mail hoặc ghi nhật ký đều có thể dễ dàng được đưa vào dưới dạng thư viện của bên thứ ba. Nhờ phong trào mã nguồn mở, có nhiều gói chất lượng cao để lựa chọn. Trong những ngày đầu, bao gồm cả các thư viện của bên thứ ba rất cồng kềnh và dễ xảy ra lỗi nhưng may mắn thay, ngày nay chúng tôi có các công cụ như Composer để giúp chúng tôi

Composer là một trình quản lý phụ thuộc đặc biệt cho PHP. Nó thay thế PEAR và đúng như vậy. PEAR yêu cầu dự án của bạn được chuẩn bị đặc biệt để làm việc với nó, trong đó Composer cung cấp cho bạn tất cả sự tự do mà bạn cần mà không có bất kỳ yêu cầu đặc biệt nào. Một điểm khác biệt chính giữa hai công cụ này là PEAR cài đặt các phụ thuộc trên toàn cầu và Trình soạn thảo cài đặt chúng cục bộ, trong cấu trúc dự án của bạn. PEAR về cơ bản là trình quản lý gói và Trình soạn thảo là trình quản lý phụ thuộc. Đó là nơi nhấn mạnh

Nhà soạn nhạc lấy cảm hứng từ các dự án như NPM và Bundler. Nhiều lựa chọn gói tương thích được lưu trữ trên kho lưu trữ chính thức của Nhà soạn nhạc có tên là Packagist. Các gói này là mã nguồn mở nên bạn cũng có thể đóng góp cho chúng. Tất cả các khung và công cụ phổ biến như Laravel, PHPUnit và Monolog đều có thể được tìm thấy tại đây. Bạn thậm chí có thể sử dụng bản sửa đổi mã cụ thể của gói khi đưa nó vào dự án của mình để bạn có được sự linh hoạt tuyệt vời. Các gói trình soạn thảo được lập phiên bản, vì vậy bạn có thể xác định phiên bản chính xác của gói bạn cần. Điều này giúp chuyển dự án của bạn sang một máy khác hoặc sang một dịch vụ CI chẳng hạn như [Semaphore] (https. //semaphoreci. com) dễ dàng

Trong hướng dẫn này, chúng ta sẽ khám phá một số tính năng Composer được sử dụng nhiều nhất và chỉ ra cách sử dụng chúng. Sau khi làm theo, bạn sẽ cảm thấy thoải mái với việc quản lý các phụ thuộc của dự án PHP với Trình soạn thảo

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

Phần mềm bạn cần như sau

  • Một số phiên bản của PHP 5, tốt nhất là phiên bản mới nhất. Composer tương thích với PHP phiên bản 5. 3. 2 trở lên
  • Khách hàng cho Git và Subversion

Tôi sẽ sử dụng phiên bản PHP 5. 6. 5, nhưng bạn hoàn toàn có thể sử dụng bất kỳ phiên bản nào khác miễn là phiên bản đó mới hơn 5. 3. 2. Nếu bạn chưa cài đặt PHP, bạn có thể thực hiện với phpbrew, điều này giúp việc quản lý nhiều phiên bản PHP trên cùng một máy trở nên dễ dàng

Cài đặt

Composer có thể được cài đặt theo hai cách khác nhau

Cài đặt cục bộ

Cài đặt cục bộ sẽ tải xuống

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
9 vào thư mục hiện tại. Hạn chế của phương pháp này là bạn sẽ luôn phải tham khảo tệp thực thi của Trình soạn thảo từ thư mục nơi nó được tải xuống.

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ php composer.phar --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)

Cài đặt trên toàn cầu (Được khuyến nghị)

Cài đặt Composer trên toàn cầu là một cách thuận tiện để có quyền truy cập vào công cụ từ mọi nơi chỉ bằng cách thực hiện lệnh

phpbrew install-composer
0

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)

Nếu bạn cài PHP với

phpbrew install-composer
1 thì chạy lệnh bên dưới là đủ

phpbrew install-composer

Chúng tôi tiếp tục hướng dẫn này với giả định rằng Composer đã được cài đặt trên toàn cầu

Cấu hình Composer

Trình soạn thảo được định cấu hình với một tệp có tên

phpbrew install-composer
2 nằm trong thư mục gốc của dự án. Để làm theo, chỉ cần tạo một thư mục trống có tên là composer-tutorial, kích hoạt trình soạn thảo văn bản và tạo một tệp
phpbrew install-composer
2 trống trong thư mục này. Đây là cách tệp Composer đơn giản nhất trông như thế nào

________số 8

Yêu cầu duy nhất ngoài việc tệp phải ở định dạng JSON, là bao gồm khóa

phpbrew install-composer
4. Khóa này xác định các phụ thuộc của dự án với danh sách các gói và phiên bản tương ứng của chúng

Xác định phụ thuộc

Theo quy ước, tên gói bao gồm nhà cung cấp của gói và tên dự án của nó. Điều này được thực hiện trong một nỗ lực để tránh xung đột tên. Trong ví dụ của chúng tôi ở trên, nhà cung cấp là

phpbrew install-composer
5 và dự án được gọi là
phpbrew install-composer
6

Phiên bản của gói có thể được xác định theo nhiều cách. Đây là nơi Composer mang đến cho bạn sự linh hoạt rất lớn

  • phpbrew install-composer
    7, khóa gói theo phiên bản chính xác được xác định
  • phpbrew install-composer
    8, xác định phạm vi trong đó phiên bản của gói phải ít nhất là
    phpbrew install-composer
    7 nhưng phiên bản mới hơn sẽ được sử dụng nếu có sẵn. Các toán tử như
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    0,
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    1,
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    2,
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    3 và
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    4 cũng có thể được sử dụng
  • {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    5, tương đương với
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    6
  • {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    7, được sử dụng cho các dự án sử dụng phiên bản ngữ nghĩa và tương đương với
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    8. Về cơ bản, nó cho phép phiên bản vi mô thay đổi.
    {
      "require": {
        "symfony/yaml": "2.6.4"
      }
    }
    9 cũng giống như nói
    phpbrew install-composer
    50
  • phpbrew install-composer
    51, dấu mũ được sử dụng khi chúng tôi muốn tránh cập nhật chậm cho các dự án sử dụng phiên bản ngữ nghĩa.
    phpbrew install-composer
    51 tương đương với
    phpbrew install-composer
    53

Bạn có thể tìm thấy mô tả chi tiết hơn về những hạn chế này trên [trang này] (https. //getcomposer. org/doc/01-basic-usage. md#gói-phiên bản)

Thoát khỏi mặc định

Nếu không hài lòng với cài đặt mặc định, bạn có thể sử dụng phím

phpbrew install-composer
54 và tùy chỉnh mọi thứ từ việc chỉ định đường dẫn cài đặt mặc định của Composer đến xác định giao thức GitHub sẽ sử dụng. Ví dụ: để xác định đường dẫn cài đặt tùy chỉnh cho các gói Trình soạn thảo của chúng tôi, chúng tôi thay đổi
phpbrew install-composer
2 của mình thành như thế này

phpbrew install-composer
5

Có thể tìm thấy danh sách đầy đủ các tùy chọn

phpbrew install-composer
54 tại đây

Nguồn gói tùy chỉnh

Một gói thực chất là một thư mục chứa thông tin như phiên bản của gói và nguồn từ đâu để lấy nội dung của gói. Hai loại nguồn gói tồn tại

  • phpbrew install-composer
    57, phiên bản đóng gói, đã thử nghiệm và ổn định
  • phpbrew install-composer
    58, sao chép nội dung của gói từ hệ thống kiểm soát phiên bản

Các gói từ

phpbrew install-composer
58 thường được sử dụng trong quá trình phát triển và các gói
phpbrew install-composer
57 có xu hướng sẵn sàng sản xuất

Composer theo mặc định sử dụng các gói

phpbrew install-composer
57 từ Packagist. Tuy nhiên, điều này có thể dễ dàng mở rộng bằng cách sử dụng khóa
$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
82 và bao gồm các gói
phpbrew install-composer
58. Bạn có thể sử dụng các nguồn như hệ thống kiểm soát phiên bản (Git, SVN và Hg) hoặc thậm chí các gói PEAR. Để thêm thư viện
$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
84 trực tiếp từ GitHub, bạn phải thực hiện như sau

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
8

Kho lưu trữ là danh sách các phiên bản cho gói. Chúng tôi yêu cầu một phiên bản từ kho lưu trữ giống như cách chúng tôi làm với các gói

phpbrew install-composer
57

Tham khảo trang này để được giải thích sâu về các tùy chọn khác nhau để định cấu hình kho lưu trữ

cài đặt phụ thuộc

Để cài đặt các phụ thuộc mà bạn đã xác định trong

phpbrew install-composer
2, chúng tôi sử dụng lệnh sau

phpbrew install-composer
4

Quá trình cài đặt sẽ tìm nạp các gói mới nhất theo các ràng buộc mà chúng tôi đã xác định. Các gói được đặt trong thư mục

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
87 hoặc một thư mục tùy chỉnh như chúng tôi đã xác định trước đó. Lệnh cài đặt có một số tùy chọn thú vị

  • $ curl -sS https://getcomposer.org/installer | php
    
    All settings correct for using Composer
    Downloading...
    
    Composer successfully installed to: /workspace/composer.phar
    Use it: php composer.phar
    
    $ sudo mv composer.phar /usr/local/bin/composer
    $ composer --version
    
    Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
    88 sẽ cài đặt các gói từ nguồn của họ, thường là kho lưu trữ GitHub hoặc Subversion. Nói cách khác, nó sao chép mã nguồn của gói. Trong trường hợp không tìm thấy kho lưu trữ trên vcs, nó sẽ quay trở lại cài đặt từ
    phpbrew install-composer
    57
  • phpbrew install-composer
    40 thích cài đặt các gói từ Packagist và lưu trữ gói lưu trữ cục bộ
  • phpbrew install-composer
    41 sẽ cung cấp cho bạn số liệu thống kê về quá trình cài đặt khi kết thúc quá trình. Nó có thể được sử dụng với bất kỳ lệnh Composer nào

phụ thuộc bộ nhớ đệm

Trình soạn thảo lưu trữ bộ đệm của nó trong

phpbrew install-composer
42, thường được đặt thành
phpbrew install-composer
43 theo mặc định. Bộ nhớ đệm rất có lợi khi có nhiều dự án có chung một số điểm phụ thuộc. Lần đầu tiên
phpbrew install-composer
44 được thực thi, nó tải xuống và lưu vào bộ đệm các phần phụ thuộc không có trong bộ đệm. Lần khởi tạo tiếp theo, nó sẽ tải các gói đã cài đặt từ bộ đệm

Hãy xem cài đặt từ bộ đệm có thể tạo ra sự khác biệt gì

phpbrew install-composer
3

Đây là những gì xảy ra khi một gói được lưu trong bộ nhớ cache được sử dụng lại cho một cài đặt khác

phpbrew install-composer
4

Như bạn có thể thấy, cài đặt các gói đã lưu trong bộ nhớ cache lần thứ hai nhanh hơn nhiều. Điều này tạo ra sự khác biệt lớn trong một dự án có nhiều phụ thuộc

Khóa phụ thuộc

Khi quá trình cài đặt được bắt đầu lần đầu tiên, nó sẽ tạo một tệp

phpbrew install-composer
45. Tệp này khóa tất cả các gói hiện được cài đặt cùng với các phiên bản và phần phụ thuộc của chúng. Điều quan trọng là phải đưa tệp này vào hệ thống kiểm soát phiên bản, bởi vì đây là thứ giúp dự án của bạn có thể chuyển giao cho các máy khác. Bằng cách này, bạn có thể yên tâm rằng bất kỳ ai đóng góp cho dự án sẽ được cài đặt các phụ thuộc giống như bạn

Cập nhật phụ thuộc

Các khung và thư viện luôn được cải thiện và nếu chúng tôi muốn nhận được các tính năng và bản sửa lỗi mới nhất, các phần phụ thuộc của chúng tôi cần được cập nhật. Điều này có thể đạt được đơn giản bằng cách sử dụng lệnh

phpbrew install-composer
46

phpbrew install-composer
7

Lệnh

phpbrew install-composer
46 sẽ cài đặt tất cả các gói mới nhất trong khi xem xét các ràng buộc về phiên bản được xác định trong
phpbrew install-composer
2 và nó cũng cập nhật tệp
phpbrew install-composer
45

Tuy nhiên, cập nhật tất cả các phụ thuộc không phải lúc nào cũng tối ưu. Có thể có một thay đổi lớn trong một trong các bản cập nhật và bạn muốn giữ phiên bản cũ cho đến khi xử lý sau. Các gói trình soạn thảo có thể được cập nhật từng cái một bằng cách cho phép lệnh

phpbrew install-composer
46 mà bạn muốn cập nhật
phpbrew install-composer
31

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
0

Lệnh cập nhật có các tùy chọn rất giống với

phpbrew install-composer
32 và bạn có thể tìm thấy chúng tại đây

Trong thời gian cài đặt và cập nhật các gói Composer, bạn có thể gặp thông báo lỗi này

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
1

Điều này xảy ra khi ngay cả một điều chỉnh nhỏ nhất cũng được đưa ra trong

phpbrew install-composer
2. Giống như thay đổi tác giả, mô tả hoặc thậm chí thay đổi một chữ cái. Sửa đổi nhỏ nhất cũng đủ để thay đổi hàm băm MD5 của tệp được phát hiện bởi
phpbrew install-composer
45. Để tránh chạy
phpbrew install-composer
46 khi xảy ra sửa đổi nhỏ, tùy chọn
phpbrew install-composer
36 được sử dụng để chặn cảnh báo và cập nhật tệp khóa

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
2

tự động tải

Bạn có thể nhận thấy rằng Trình soạn thảo đang tạo các tệp tự động tải sau khi các gói được cài đặt hoặc cập nhật thành công. Cụ thể hơn, tệp được đề cập là

phpbrew install-composer
37. Tự động tải làm cho việc sử dụng các phụ thuộc có sẵn trong dự án của bạn thực sự thuận tiện bằng cách chỉ cần tham chiếu tên lớp của chúng mà không cần yêu cầu rõ ràng các tệp chứa các lớp đó. Điều duy nhất cần được đưa vào dự án của bạn là tệp tự động tải

Trình soạn thảo hiện hỗ trợ các cơ chế tải tự động này

  • PSR-0
  • PSR-4 (khuyên dùng)
  • Tạo bản đồ lớp
  • Trực tiếp tham chiếu đến một tập tin

Thậm chí còn có một tùy chọn để tự động tải các lớp của riêng bạn mà chúng tôi sẽ trình bày tiếp theo

Tự động tải một lớp tùy chỉnh

Hãy xem một ví dụ đơn giản về cách hoạt động của tính năng tự động tải. Trong thư mục gốc của chúng tôi

phpbrew install-composer
38, hãy tạo một thư mục có tên là
phpbrew install-composer
58. Trong thư mục mới tạo này, tạo một tệp có tên
phpbrew install-composer
40

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
3

Hàm

phpbrew install-composer
41 tính diện tích hình vuông theo cạnh của nó

Thêm khóa

phpbrew install-composer
42 vào
phpbrew install-composer
2 nơi chúng tôi xác định ánh xạ giữa không gian tên và đường dẫn. Nhà soạn nhạc sẽ tìm kiếm các tệp nằm trong
phpbrew install-composer
44 thuộc không gian tên
phpbrew install-composer
45

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
4

Sau khi lớp tùy chỉnh được đưa vào, tệp tự động tải phải được tạo lại để phản ánh các thay đổi

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
5

Bạn có thể thấy ảnh hưởng của

phpbrew install-composer
46 trong
phpbrew install-composer
47

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
6

Bây giờ, hãy tạo một tập lệnh dòng lệnh đơn giản sẽ sử dụng lớp

phpbrew install-composer
48 bằng cách chỉ yêu cầu
phpbrew install-composer
37 và không yêu cầu gì hơn. Tạo tệp này trong thư mục gốc (______538) và đặt tên là
phpbrew install-composer
71

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
7

Sau khi tệp được tạo, hãy làm cho nó có thể thực thi được và chạy nó

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /workspace/composer.phar
Use it: php composer.phar

$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version

Composer version 1.0-dev (1d8f05f1dd0e390f253f79ea86cd505178360019)
8

Lớp

phpbrew install-composer
72 của chúng tôi đã được tải thành công mà không cần phải bao gồm nó một cách rõ ràng

gói nó lên

Trong hướng dẫn này, chúng ta đã thấy cách Trình soạn thảo quản lý các phụ thuộc cho các dự án PHP. Công cụ đa năng này hiện là một phần trong kho vũ khí của nhiều nhà phát triển. Tôi hy vọng bài viết này có thể giúp bạn bắt kịp tốc độ với Composer

Để biết tổng quan chi tiết về các khả năng của giao diện dòng lệnh, hãy tham khảo tài liệu Composer

Làm cách nào để cài đặt gói PHP bằng Trình soạn thảo?

Trong hướng dẫn này, chúng tôi sẽ trình bày cách thiết lập trình soạn thảo để cài đặt thư viện PHP trong một dự án. .
Tải xuống Trình cài đặt chính thức trong thư mục dự án. Thực hiện lệnh sau trong terminal. $ cd đường dẫn/đến/dự án. .
Tải xuống thư viện PHP cần thiết. .
Bao gồm thư viện trong mã PHP. .
Thêm các tệp do nhà soạn nhạc tạo vào. gitignore

Làm cách nào để cài đặt qua Composer?

Sử dụng Trình cài đặt # . Tải xuống và chạy Composer-Setup. người cũ. Nó sẽ cài đặt phiên bản Composer mới nhất và thiết lập PATH của bạn để bạn có thể gọi trình soạn thảo từ bất kỳ thư mục nào trong dòng lệnh của mình. Ghi chú. Đóng thiết bị đầu cuối hiện tại của bạn

Composer có thể cài đặt các phần mở rộng PHP không?

Nhà soạn nhạc có các gói nền tảng, là các gói ảo dành cho những thứ được cài đặt trên hệ thống nhưng Nhà soạn nhạc không thực sự cài đặt được . Điều này bao gồm bản thân PHP, phần mở rộng PHP và một số thư viện hệ thống.

Làm cách nào để cài đặt Composer trong lõi PHP?

Kết luận .
Cài đặt Trình soạn thảo trên tài khoản lưu trữ được chia sẻ, hệ thống Linux, macOS hoặc Windows
Tạo nhà soạn nhạc. tập tin json
Sử dụng tập lệnh tự động tải để tải các phụ thuộc vào tệp PHP
Cập nhật các phụ thuộc dự án của bạn