machy8 / smart-controller
在Symfony AbstractController之上的小型抽象,具有实用的功能。
这个包的官方仓库似乎已经消失,因此该包已被冻结。
v1.1.0
2019-04-11 20:00 UTC
Requires
- php: >=7.2
- symfony/framework-bundle: ~4.2
- symfony/twig-bundle: ~4.2
Requires (Dev)
- symplify/easy-coding-standard: ^5.2
- tracy/tracy: ^2.4
README
智能控制器
基于文章Symfony 4: 创建智能控制器。摘要
- 在渲染方法之前 - 允许您设置始终需要的参数
- 模板参数 - 可以轻松地从多个地方设置
- 有用的方法 - getRequest(), getRootDirectory(), getTemplateParameter()
安装
composer require machy8/smart-controller
示例
Symfony原始的lucky控制器示例。
class LuckyController extends AbstractController { /** * @Route("/lucky/number") */ public function number(): Response { return $this->render('lucky/number.twig', [ 'number' => random_int(0, 100), ]); } /** * @Route("/unlucky/number") */ public function unluckyNumber(): Response { return $this->render('lucky/number.twig', [ 'number' => random_int(0, 100), ]); } }
现在有了智能控制器。
class LuckyController extends SmartController { public function beforeRender(): void { $this->setTemplateParameters([ 'number' => random_int(0, 100) ]); } /** * @Route("/lucky/number") */ public function renderLuckyNumber(): Response { return $this->renderTemplate('lucky/number.twig'); } /** * @Route("/unlucky/number") */ public function renderUnluckyNumber(): Response { return $this->renderTemplate('lucky/number.twig'); } }