smcrow / laravel-container-info
用于获取IoC容器信息的Artisan命令。
1.2.2
2017-11-05 15:19 UTC
Requires
- php: >=7.0.2
- laravel/framework: ~5.0
- symfony/finder: ^3.3
Requires (Dev)
- mockery/mockery: ^0.9.9
- phpunit/phpunit: ^6.2
- squizlabs/php_codesniffer: ^3.1
This package is not auto-updated.
Last update: 2024-09-29 05:01:32 UTC
README
这是一套Artisan自定义命令,用于获取IoC容器的信息。以下命令被添加:
处理绑定
binding:list
- 通过显示将要注入的抽象(接口)和具体类,列出已注册的绑定。--include-illuminate
- 表示应该包括Illuminate类。默认情况下不包括。
binding:usage
- 列出已注册的绑定以及它们在哪些文件中被引用。默认情况下会排除node_modules
和vendor
。--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版本之前
您需要注册命令才能使用它。修改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 |
+-----------------------------------------------------------------------------+----------+----------------+
反馈和贡献
请随时通过提交问题提出建议。或者,提交一个拉取请求,添加您希望添加的功能。这是一个正在进行中的项目,我欢迎任何反馈。