Tôi đang làm việc trên một ứng dụng Laravel 5 và bây giờ mã của ứng dụng được cho là được sử dụng lại trong nhiều ứng dụng laravel 5, đó là lý do tại sao tôi tạo một gói trình soạn thảo và sau đó tôi muốn cài đặt gói này các ứng dụng của Laravel 5 có cùng chức năng và xây dựng nó.Làm thế nào để bootstrap laravel 5 nhà cung cấp dịch vụ từ gói nhà cung cấp chính nó?
Tôi mới phát triển gói soạn nhạc và đặc biệt là ghép các gói vào Laravel 5 bằng cách sử dụng Nhà cung cấp dịch vụ. Cho đến nay tôi đã biết được rằng nếu tôi sử dụng một nhà cung cấp dịch vụ như hình dưới đây, tôi sẽ có thể sử dụng các tuyến đường trong việc áp dụng laravel 5:
<?php
namespace Uppdragshuset\AO\Tenant;
use Illuminate\Support\ServiceProvider;
class TenantServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
include __DIR__.'/routes.php';
}
}
Bây giờ để làm công việc này, tôi chỉ yêu cầu các gói qua nhà soạn nhạc vào bất kỳ thương hiệu mới Laravel 5 cài đặt và sau đó tôi chỉ cần cập nhật mảng của nhà cung cấp trong app.php
với điều này:
Uppdragshuset\AO\Tenant\TenantServiceProvider::class
Điều này làm cho ý nghĩa với tôi và làm việc quá. Nhưng bây giờ gói mà tôi đang phát triển cũng có các phụ thuộc của riêng nó và nhiều gói phụ thuộc cũng có các nhà cung cấp dịch vụ laravel 5, vì vậy tôi phải bao gồm tất cả chúng trong cài đặt laravel5 để làm cho chúng hoạt động.
Nhưng tôi đoán có phải là cách để đăng ký các nhà cung cấp dịch vụ phụ thuộc trong gói mà tôi đang tạo bằng cách nào đó để tôi chỉ cần đăng ký một nhà cung cấp mà tôi đã đề cập ở trên. Vấn đề là tôi không biết làm thế nào để làm điều này và không thể tìm thấy một tài liệu tham khảo tương tự bất cứ nơi nào. Làm cách nào để đăng ký nhiều nhà cung cấp dịch vụ từ chính gói nhà soạn nhạc?
Đúng, đây là cách để đi: bạn có thể đăng ký nhà cung cấp dịch vụ trong các nhà cung cấp dịch vụ. –
Cảm ơn, tôi chỉ quản lý để ghi đè lên một nhà cung cấp dịch vụ laravel bằng cách sử dụng '$ this-> app-> register()' từ gói của tôi – myol