ion-bazan / laravel-container-debug
列出Laravel IoC容器中可用的服务。支持Laravel 5.4-11.x版本
v1.5.0
2024-04-14 14:51 UTC
Requires
- php: >=7.0
- ext-json: *
- illuminate/console: ^5.4 || ^6 || ^7 || ^8 || ^9 || ^10 || ^11
- illuminate/container: ^5.4 || ^6 || ^7 || ^8 || ^9 || ^10 || ^11
Requires (Dev)
- symfony/phpunit-bridge: ^4.4 || ^5 || ^6
README
受Symfony启发的包,用于列出Laravel IoC容器中可用的服务。支持Laravel 5.4-11.x版本。
示例输出
+--------------------------------------------------------------+-------------------------------------------------------------+--------+-------+
| Service ID | Class | Shared | Alias |
+--------------------------------------------------------------+-------------------------------------------------------------+--------+-------+
| IonBazan\Laravel\ContainerDebug\Tests\IContainerContractStub | IonBazan\Laravel\ContainerDebug\Tests\ContainerConcreteStub | No | No |
| IonBazan\Laravel\ContainerDebug\Tests\SingletonService | IonBazan\Laravel\ContainerDebug\Tests\SingletonService | Yes | No |
| alias.b | alias for "service.b" | No | Yes |
| alias.c | alias for "service.c" | No | Yes |
| service.a | IonBazan\Laravel\ContainerDebug\Tests\ServiceStubA | No | No |
| service.b | IonBazan\Laravel\ContainerDebug\Tests\ServiceStubB | No | No |
| service.c | IonBazan\Laravel\ContainerDebug\Tests\ServiceStubC | No | No |
| service.d | N/A | No | No |
| simple.value.array | <array> [10,20] | No | No |
| simple.value.int | <integer> 10 | No | No |
| simple.value.string | <string> test | No | No |
+--------------------------------------------------------------+-------------------------------------------------------------+--------+-------+
安装
composer require --dev ion-bazan/laravel-container-debug
感谢Laravel的包自动发现功能,您无需注册ServiceProvider。
Laravel无自动发现
如果您不使用自动发现,请在您的config/app.php
文件中的providers
数组中添加ServiceProvider。
\IonBazan\Laravel\ContainerDebug\ServiceProvider::class,
Lumen
对于Lumen,请在您的bootstrap/app.php
文件中注册ServiceProvider。
$app->register(\IonBazan\Laravel\ContainerDebug\ServiceProvider::class);
使用方法
TL;DR: php artisan container:debug --help
使用方法非常简单
- 列出所有服务:
php artisan container:debug
- 检查特定服务:
php artisan container:debug MyFooService
- 列出所有带有标签的服务:
php artisan container:debug --tags
- 列出带有标签的服务:
php artisan container:debug --tag=foo
该命令通过去除服务名称中的斜杠并在服务名称中查找给定名称的任何出现来最好地找到您想要的服务。例如,要显示service.foo
服务信息,只需使用php artisan container:debug foo
。如果有更多具有类似名称的服务,将显示提示以选择您要查找的服务。
要获取服务的类名,它必须被初始化。要检查每个服务所需的时间,可以使用--profile
选项。