smcrow/binding-utilities

此包已被弃用,不再维护。作者建议使用 smcrow/laravel-container-info 包。

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

1.2.2 2017-11-05 15:19 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:08:54 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将被自动发现。

Laravel 5.5之前

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

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 |
+-----------------------------------------------------------------------------+----------+----------------+

反馈和贡献

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