Các composer.json
tập tin liệt kê các phụ thuộc. Trong ví dụ của bạn:
"require": {
"php": ">=5.5.0",
"guzzlehttp/guzzle": "^6.0",
"psr/http-message": "^1.0",
"psr/log": "^1.0"
},
Sau đó, bạn phải tìm các gói tương ứng trong trang packagist . Lặp lại quy trình tương tự cho mỗi phần phụ thuộc: tìm các phần phụ thuộc bổ sung trong các composer.json
tệp tương ứng của chúng và tìm kiếm lại.
Cuối cùng khi bạn đã có danh sách đầy đủ các gói cần thiết, bạn chỉ cần cài đặt tất cả từng gói một. Đối với hầu hết các phần, vấn đề chỉ là thả các tệp vào đâu đó trong thư mục dự án của bạn. Nhưng bạn cũng phải đảm bảo rằng PHP có thể tìm thấy các lớp cần thiết. Vì bạn không sử dụng trình tải tự động của Composer, bạn cần thêm chúng vào trình tải tự động tùy chỉnh của riêng mình. Bạn có thể tìm ra thông tin từ các composer.json
tệp tương ứng , ví dụ:
"autoload": {
"psr-4": { "Coinbase\\Wallet\\": "src/" }
},
Nếu bạn không sử dụng trình nạp tự động lớp, bạn sẽ cần tìm ra các require_once
câu lệnh riêng lẻ . Có thể bạn sẽ cần nhiều lần thử và sai vì hầu hết các tác giả thư viện sẽ không quan tâm đến việc ghi lại điều đó.
Ngoài ra, và đề phòng có sự nhầm lẫn về điều này:
- Composer có trình cài đặt GUI chính thức cho Windows và quy trình cài đặt dòng lệnh sao chép và dán cho tất cả các nền tảng.
- Composer có thể được chạy cục bộ và đầu ra của nó chỉ được tải lên ở nơi khác. Bạn không cần SSH trong lưu trữ được chia sẻ của mình.
- Lệnh cần thiết để cài đặt một thư viện có thể được sao chép và dán từ trang web gói — ngay cả khi người bảo trì gói không quan tâm đến việc ghi lại nó, packagist.org sẽ tạo nó theo mặc định.
Composer không phải là hoàn hảo và nó không phù hợp với tất cả các trường hợp sử dụng, nhưng khi cài đặt một thư viện dựa vào nó, nó chắc chắn là lựa chọn thay thế tốt nhất và nó khá ổn.
Tôi đã kiểm tra các câu trả lời khác sau của tôi. Chúng chủ yếu thuộc hai loại:
- Cài đặt thư viện và viết tập lệnh tải xuống tùy chỉnh với nó
- Sử dụng giao diện trực tuyến dựa trên web cho Composer
Trừ khi tôi thiếu thứ gì đó, không ai trong số họ giải quyết các khiếu nại mà OP bày tỏ:
- Đường cong học tập
- Sử dụng phần mềm của bên thứ ba
- Khả năng phát triển ngay trên máy chủ (sử dụng SSH, tôi đoán là)
- Cây phụ thuộc sâu tiềm ẩn
include
các tệp.