symplify / controller-autowire
v2.0.0-RC2
2017-04-27 14:57 UTC
Requires
- php: ^7.1
- nette/robot-loader: ^3.0
- symfony/config: ^3.2
- symfony/dependency-injection: ^3.2
- symfony/http-kernel: ^3.2
- symfony/security: ^3.2
- symfony/serializer: ^3.2
- symfony/yaml: ^3.2
Requires (Dev)
- doctrine/annotations: ^1.4
- nette/finder: ^2.4
- nette/utils: ^2.4
- phpunit/phpunit: ^6.0
- symfony/framework-bundle: ^3.2
- dev-master
- v2.0.0-RC2
- v2.0.0-RC1
- v1.4.10
- v1.4.9
- v1.4.4
- v1.4.1
- v1.4.0
- v1.3.3
- v1.3.1
- v1.3.0
- v1.2.21
- v1.2.20
- v1.2.19
- v1.2.18
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.0.0
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-main
This package is auto-updated.
Last update: 2022-01-17 10:33:15 UTC
README
此包只做两件事。但都做得很好
- 1. 将控制器注册为服务,
- 2. 为它们启用构造函数自动注入。
仍在想 为什么使用控制器作为服务?请查看这篇文章 和 这篇文章。
安装
composer require symplify/controller-autowire
将包添加到 AppKernel.php
class AppKernel extends Kernel { public function registerBundles() { $bundles = [ new Symplify\ControllerAutowire\SymplifyControllerAutowireBundle(), // ... ]; } }
使用
class SomeController { private $someClass; public function __construct(SomeClass $someClass) { $this->someClass = $someClass; } }
用于 FrameworkBundle 的控制器?使用辅助特性!
受 Symfony 请求的启发,以及目前搁置的注入设置,以下是一些您现在可以使用的特性
use Symplify\ControllerAutowire\Controller\Routing\ControllerAwareTrait; final class SomeController { use ControllerAwareTrait; public function someAction() { $productRepository = $this->getDoctrine()->getRepository(Product::class); // ... return $this->redirectToRoute('my_route'); } }
您是否只想使用您需要的特性?
use Symplify\ControllerAutowire\Controller\Routing\ControllerRoutingTrait; final class SomeController { use ControllerRoutingTrait; public function someAction() { return $this->redirectToRoute('my_route'); } }
只需在您的 IDE 中键入 Controller*Trait
即可自动完成这些特性中的任何一个。
这就完了 :)