ion-bazan/laravel-container-debug

列出Laravel IoC容器中可用的服务。支持Laravel 5.4-11.x版本

v1.5.0 2024-04-14 14:51 UTC

This package is auto-updated.

Last update: 2024-09-24 03:49:19 UTC


README

Laravel 5.4|6|7|8|9|10|11 Latest version GitHub Workflow Status PHP version Codecov Mutation testing badge Downloads License

受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选项。