Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Tâm trí vấn đề

Vấn đề trong việc cài đặt các phụ thuộc mà không có nhà soạn nhạc là hệ thống tự động tải.without Composer is the autoloading system.

Nhà soạn nhạc sử dụng trình tải tự động tự chế dựa trên bản đồ mảng, đây là một tiêu chuẩn thực tế. Nhưng hệ thống tự động tải này, "may mắn" trong trường hợp này, không tuân thủ PSR-4.

PSR-4 là tiêu chuẩn de-iure để tự động tải một lớp trong PHP, vì vậy bạn không thể thoát khỏi tự động tải. Bạn phải sử dụng một trong số chúng.

Đề xuất giải pháp

Trong trường hợp này, trình tải tự động PSR-4 xuất sắc này có khả năng được cấu hình thủ công để tự động tải VendorClass trong VendorNamespace bất cứ nơi nào trong mã của bạn, miễn là bạn yêu cầu tệp autoload.php tùy chỉnh sớm trong mã nguồn của bạn.

Ví dụ thực tế

Chúng ta hãy xem ví dụ này: Tôi có một dự án di sản không thể và sẽ không sử dụng nhà soạn nhạc không bao giờ và thậm chí không bao giờ nếu Chúa cho phép điều này với một phép lạ. Dự án này có thể tăng tốc trong quá trình phát triển với gói tuyệt vời này cho các tập lệnh dòng lệnh. Đây là cấu trúc thư mục dự án của tôi:

 - src
 - tests
 - vendor (not the Composer's one)

Gói này có cấu trúc thư mục này:

 - examples
 - src
   - Commando
 - tests

Điều duy nhất tôi cần là thư mục src. Đặt thư mục này trong thư mục nhà cung cấp của tôi sẽ ổn. Vì vậy, trình tải tự động tùy chỉnh của tôi sẽ như thế này:

// Constants
$base_path = "path\to\my\project";
$autoloader_class = '\vendor\MarcoConsiglio-Wichee\PSR-4-Autoloading\Psr4AutoloaderClass.php';
define("BASE_PATH", str_replace("\\", DIRECTORY_SEPARATOR, $base_path));

// Autoloader
require_once BASE_PATH.'\vendor\MarcoConsiglio-Wichee\PSR-4-Autoloading\Psr4AutoloaderClass.php';

// Init the autoloader.
$package = [
    "nategood\commando" => [
        "namespace" => "Commando",
        "path" => str_replace("\\", DIRECTORY_SEPARATOR, '\vendor\nategood\commando\src\Commando')
    ],
    "kevinlebrun\colors.php" => [
        "namespace" => "Colors",
        "path" => str_replace("\\", DIRECTORY_SEPARATOR, '\vendor\kevinlebrun\colors.php\src\Colors')
    ]
];

// Register namespaces.
$loader = new \PSR4\Psr4AutoloaderClass;
$loader->register();
                      // Namespace                                      // Path to source
$loader->addNamespace($package["nategood\commando"]["namespace"],       BASE_PATH.$package["nategood\commando"]["path"]);
$loader->addNamespace($package["nategood\commando"]["namespace"],       BASE_PATH.$package["nategood\commando"]["path"]."\Util");
$loader->addNamespace($package["kevinlebrun\colors.php"]["namespace"],  BASE_PATH.$package["kevinlebrun\colors.php"]["path"]);

Bây giờ tôi có thể sử dụng gói lệnh ở bất cứ đâu trong dự án của mình!

Ưu & Nhược điểm

Giải pháp này cho phép bạn:

  • Xây dựng dễ dàng và thủ công và tự động tải tự động tùy chỉnh của riêng bạn (bạn chỉ cần chỉ định VendorNamespace và (các) thư mục trong đó tìm kiếm VendorClasses trong VendorNamespace.
  • Tự do tổ chức sự phụ thuộc của nhà soạn nhạc ở bất cứ đâu trong thư mục dự án của bạn (và tại sao không, bên ngoài nó)
  • Nhập gói nhà soạn nhạc như trong dự án của bạn (tải xuống cục bộ với trình soạn thảo hoặc nhân bản kho lưu trữ gói) hoặc một phần có liên quan của nó (tức là xóa tệp Composer.json hoặc các tệp yêu cầu trình tải tự động của trình soạn thảo).

Cons:

  • Xây dựng thủ công trình tải tự động tùy chỉnh của bạn có nghĩa là làm việc trên mọi phụ thuộc cần thiết của dự án của bạn (tôi hy vọng không nhiều).every required dependency of your project (i hope not a lot).
  • Sai lầm trong các đường dẫn nguồn gói có thể tẻ nhạt và bực bội.
  • Chỉ hoạt động với tên tệp tuân thủ PSR-4 (tức là không thể sử dụng tên tệp
     - examples
     - src
       - Commando
     - tests
    
    0)

Nếu bạn muốn sử dụng thư viện PHP chính thức của chúng tôi nhưng không sử dụng trình soạn thảo để quản lý phụ thuộc, bạn có thể thêm mã thư viện trực tiếp vào ứng dụng của bạn để tận dụng thư viện.

  1. Tải xuống tệp ZIP thư viện PHP Postmark và các phụ thuộc của nó ở đây.
  2. Giải nén Lưu trữ Thư viện PHP đã tải xuống vào thư mục gốc ứng dụng của bạn. Thư mục sẽ trông giống như thế này (nhà cung cấp, nhà soạn nhạc.json và Composer.lock đã thêm vào thư mục):

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Kiểm tra Wiki thư viện PHP để được trợ giúp bắt đầu và ví dụ mã.

Tải xuống trực tiếp các gói PHP

Một cú nhấp chuột và bạn có thể tải xuống thư viện PHP. Không cần cài đặt nhà soạn nhạc khó chịu.

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Chỉ có một bao gồm

Bạn chỉ bao gồm autoload.php từ thư mục nhà cung cấp. Phần còn lại sẽ được thực hiện bằng nhập khẩu lớp.

Nhiều thư viện PHP

Thêm nhiều thư viện PHP bằng cách tạo một dự án.

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Dự án từ JSON

Bạn có một số JSON và bạn muốn tải xuống các gói? Làm đi!

Giữ nó đơn giản

Quản lý dự án nhà soạn nhạc của bạn trong một giao diện người dùng dễ dàng.

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Đừng tiết lộ thông tin đăng nhập của bạn

Trình quản lý dự án lưu thông tin đăng nhập và các nhà phát triển tải xuống thư mục nhà cung cấp dưới dạng nhị phân. Doanh nghiệpEnterprise

Tự động hóa quá trình xây dựng của bạn

Sử dụng công cụ dòng lệnh của chúng tôi để tự động hóa quá trình xây dựng nhà soạn nhạc của bạnEnterprise

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Trên trang này, có thể tải xuống tất cả các thư viện PHP, được tìm thấy trong kho lưu trữ Packagist. Nếu bạn sử dụng trang web này, không cần cài đặt nhà soạn nhạc. Bạn có thể tải xuống các gói PHP trực tiếp mà không cần cài đặt bất cứ điều gì. Nếu bạn cần nhiều gói cho ứng dụng của mình, thậm chí có thể tạo một dự án trên trang web này.download all PHP libraries, which are found in the Packagist Repository. If you use this site, no Composer installation is required. You can download the PHP packages directly without installing anything. If you need multiple packages for your application, it is even possible to create a project on this site.

Về chúng tôi

Công ty Weber Maidals LLC được thành lập bởi Janosch Weber vào năm 2013. Là một người nước ngoài từ Đức, ông sống ở Tbilisi, thành phố thủ đô Georgia. Công ty đã chuyên phát triển PHP. Với các khách hàng của chúng tôi đến từ khu vực nói tiếng Đức, chúng tôi là một công ty phát triển nhanh chóng.

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Câu hỏi thường gặp

Sau khi tải xuống, bạn phải thực hiện một bao gồm yêu cầu_once ('Nhà cung cấp/autoload.php') ;. Sau đó, bạn phải nhập các lớp với các câu lệnh sử dụng.

Example:

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

Nếu bạn chỉ sử dụng một gói một dự án là không cần thiết. Nhưng nếu bạn sử dụng nhiều hơn thì một gói, không có dự án, không thể nhập các lớp với các câu lệnh sử dụng.

Nói chung, nên sử dụng luôn luôn là một dự án để tải xuống các thư viện của bạn. Trong một ứng dụng thông thường có nhiều hơn một thư viện cần thiết.

Một số gói PHP không được tải xuống miễn phí và do đó được lưu trữ trong kho riêng. Trong trường hợp này, một số thông tin đăng nhập là cần thiết để truy cập các gói như vậy. Vui lòng sử dụng Auth.json Textarea để chèn thông tin đăng nhập, nếu gói đến từ kho lưu trữ riêng. Bạn có thể xem ở đây để biết thêm thông tin.

Hướng dẫn use php library without composer - sử dụng thư viện php mà không cần trình soạn nhạc

  • Một số khu vực lưu trữ không thể truy cập được bởi một thiết bị đầu cuối hoặc SSH. Sau đó không thể sử dụng nhà soạn nhạc.
  • Để sử dụng nhà soạn nhạc đôi khi phức tạp. Đặc biệt là cho người mới bắt đầu.
  • Nhà soạn nhạc cần nhiều tài nguyên. Đôi khi chúng không có sẵn trên một không gian web đơn giản.
  • Nếu bạn đang sử dụng kho lưu trữ riêng, bạn không cần chia sẻ thông tin đăng nhập của mình. Bạn có thể thiết lập mọi thứ trên trang web của chúng tôi và sau đó bạn cung cấp một liên kết tải xuống đơn giản cho thành viên nhóm của bạn.
  • Đơn giản hóa quy trình xây dựng nhà soạn nhạc của bạn. Sử dụng công cụ dòng lệnh của riêng chúng tôi để tải xuống thư mục nhà cung cấp dưới dạng nhị phân. Điều này làm cho quá trình xây dựng của bạn nhanh hơn và bạn không cần phải phơi bày thông tin đăng nhập của mình cho các kho lưu trữ riêng tư.

Làm thế nào tôi có thể sử dụng MPDF mà không cần nhà soạn nhạc?

Bạn có thể thực hiện thủ công này (tải lại, tìm tệp có lớp bị thiếu, thêm yêu cầu gọi, lặp lại) hoặc bạn có thể sử dụng thư viện tự động tải mà bạn chọn.Cách sử dụng tiếp theo sau đó giống như khi sử dụng trình soạn thảo, chỉ cần yêu cầu tập lệnh tự động tải của bạn thay vì tự động tải của nhà soạn nhạc.manually (reload, find the file with missing class, add require call, repeat) or you can use an autoloading library of your choice. Further usage is then the same as when using Composer, just require your autoloading script instead of Composer autoload.

Tại sao chúng ta cần nhà soạn nhạc trong PHP?

Nhà soạn nhạc là một công cụ để quản lý phụ thuộc trong PHP.Nó cho phép bạn khai báo các thư viện mà dự án của bạn phụ thuộc và nó sẽ quản lý (cài đặt/cập nhật) chúng cho bạn.allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

Chúng ta có thể cài đặt trình soạn thảo mà không cần PHP không?

Trình soạn thảo yêu cầu cài đặt và chạy thành công Php 5.3.2+ trên máy.Nó cũng yêu cầu một số cài đặt PHP nhạy cảm và biên dịch cờ. 2+ on the machine. It also requires some sensitive PHP settings and compiles flags.

Tôi có cần nhà soạn nhạc trên máy chủ không?

Tất nhiên, nhà soạn nhạc không bắt buộc trên máy chủ của bạn.Nó quản lý các tệp và gói dưới nhà cung cấp/, đó là tất cả.Nếu bạn chọn quản lý chúng theo một cách khác - như tải lên với FTP hoặc thực hiện chúng trong kiểm soát phiên bản của bạn, thì bạn không cần phải sử dụng trình soạn thảo.Composer is not compulsory on your server. It manages files and packages under vendor/ , that's all. If you choose to manage them some other way - like uploading with FTP or committing them in your version control, then you don't need to use Composer.