smcrow / laravel-container-info

用于获取IoC容器信息的Artisan命令。

1.2.2 2017-11-05 15:19 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:01:32 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads Build Status

这是一套Artisan自定义命令,用于获取IoC容器的信息。以下命令被添加:

处理绑定

  • binding:list - 通过显示将要注入的抽象(接口)和具体类,列出已注册的绑定。
    • --include-illuminate - 表示应该包括Illuminate类。默认情况下不包括。
  • binding:usage - 列出已注册的绑定以及它们在哪些文件中被引用。默认情况下会排除 node_modulesvendor
    • --include-illuminate - 表示应该包括Illuminate类。默认情况下不包括。
    • --include-vendor - 表示应该包括供应商目录。默认情况下不包括。
    • --exclude= - 一个逗号分隔的字符串,表示要排除哪些目录。
    • --sort - 表示应该对信息进行排序。

处理服务提供者

  • provider:list - 列出已注册的服务提供者。
    • --include-illuminate - 表示应该包括Illuminate类。默认情况下不包括。
    • --sort - 表示应该对信息进行排序。

用法

通过Composer安装

composer require smcrow/laravel-container-info --dev

注册命令

Laravel 5.5

Laravel 5.5允许自动发现服务提供者。ContainerInformationProvider将自动被发现。

5.5版本之前

您需要注册命令才能使用它。修改AppServiceProviderregister方法,这将添加本地环境的提供者。

public function register()
{
    if ($this->app->environment() === 'local') {
        $this->app->register(ContainerInformationProvider::class);
    }
}

示例用法

php artisan binding:list

以下是我LeaseTracker应用程序中binding:list命令的输出示例。

+-----------------------------------------------------------------+--------------------------------------------------------------+
| Abstract                                                        | Concrete                                                     |
+-----------------------------------------------------------------+--------------------------------------------------------------+
| Illuminate\Contracts\Http\Kernel                                | LeaseTracker\Http\Kernel                                     |
| Illuminate\Contracts\Console\Kernel                             | LeaseTracker\Console\Kernel                                  |
| Illuminate\Contracts\Debug\ExceptionHandler                     | LeaseTracker\Exceptions\Handler                              |
| Illuminate\Session\Middleware\StartSession                      | Illuminate\Session\Middleware\StartSession                   |
| LeaseTracker\Services\Vehicle\VehicleServiceInterface           | LeaseTracker\Services\Vehicle\VehicleService                 |
| LeaseTracker\Services\Mileage\MileageServiceInterface           | LeaseTracker\Services\Mileage\MileageService                 |
| LeaseTracker\Services\Calculation\CalculationServiceInterface   | LeaseTracker\Services\Calculation\CalculationService         |
| LeaseTracker\Services\VehicleImage\VehicleImageServiceInterface | LeaseTracker\Services\VehicleImage\GoogleVehicleImageService |
| LeaseTracker\Repositories\VehicleRepositoryInterface            | LeaseTracker\Repositories\VehicleRepository                  |
| LeaseTracker\Repositories\MileEntryRepositoryInterface          | LeaseTracker\Repositories\MileEntryRepository                |
| Illuminate\Console\Scheduling\ScheduleFinishCommand             | Illuminate\Console\Scheduling\ScheduleFinishCommand          |
| Illuminate\Console\Scheduling\ScheduleRunCommand                | Illuminate\Console\Scheduling\ScheduleRunCommand             |
| Illuminate\Contracts\Pipeline\Hub                               | Illuminate\Pipeline\Hub                                      |
+-----------------------------------------------------------------+--------------------------------------------------------------+
php artisan provider:list

以下是一个虚拟应用程序的输出示例

+-----------------------------------------------------------------------------+----------+----------------+
| Providers                                                                   | Deferred | Provides       |
+-----------------------------------------------------------------------------+----------+----------------+
| Fideloper\Proxy\TrustedProxyServiceProvider                                 |          |                |
| Smcrow\ContainerInformation\BindingInformation\BindingInformationProvider   |          |                |
| Smcrow\ContainerInformation\ProviderInformation\ProviderInformationProvider |          |                |
| Smcrow\ContainerInformation\ContainerInformationProvider                    |          |                |
| App\Providers\AppServiceProvider                                            |          |                |
| App\Providers\AuthServiceProvider                                           |          |                |
| App\Providers\EventServiceProvider                                          |          |                |
| App\Providers\RouteServiceProvider                                          |          |                |
| Laravel\Tinker\TinkerServiceProvider                                        | true     | command.tinker |
+-----------------------------------------------------------------------------+----------+----------------+

反馈和贡献

请随时通过提交问题提出建议。或者,提交一个拉取请求,添加您希望添加的功能。这是一个正在进行中的项目,我欢迎任何反馈。