我有一段代码在DefaultController.php
的每个控制器中重复,这让我很恼火。我可以把它放在某个地方一次,而不是在我添加的每个新控制器中复制过去吗?
如果代码应该在每个控制器操作的开头运行,我建议为在代码调度到控制器之前触发的 KernelEvent kernel.controller
Event 编写一个处理程序。
如果代码应该在操作代码中的某个位置运行,则可以创建自己的事件并为其创建处理程序。您可以将控制器和所有需要的数据追加到自定义事件对象。
我有完全相同的东西。
为了管理控制器的每个操作中的权限,我正在调用一个服务
$this->permissions =$this->get('vendor.permissions')->checkPermission('BundleName','Profil','select',$this);