kmuenkel / route-injection
允许Laravel控制器方法注入任何类型的对象。
v1.0.8
2020-12-06 02:00 UTC
Requires
- illuminate/http: ^7.0|^8.0
- illuminate/routing: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
Requires (Dev)
- barryvdh/laravel-ide-helper: ^2.8
- friendsofphp/php-cs-fixer: ^2.16
- fzaninotto/faker: ^1.9
- mockery/mockery: ^1.4
- orchestra/testbench: ^5.7
- phpmd/phpmd: ^2.9
- phpunit/phpunit: ^9.4
- squizlabs/php_codesniffer: ^3.5
README
受Laravel的路由模型绑定启发,此包将这一功能更进一步,允许控制器方法注入任何类型的对象。
- 通过将
RouteInjection\Providers]RouteInjectionServiceProvider添加到您的app.php配置文件,或者确保您的composer.json文件包含@php artisan package:discover --ansi脚本来激活该服务提供者。 - 创建一个类来解析传入的
Request并生成一个将被注入到控制器中的具体对象。为此,只需扩展RouteInjection\Binder类。 - 在
route-injection配置数组中引用您的自定义Binder类名。 - 确保您的路由利用Laravel的
SubstituteBindings中间件。这应该在您的'api'和'web'路由中是自动的,但任何超出这些组的外部路由可能需要在其中显式列出中间件配置。