我使用了一个控制控制器,它有一个需要重写的_custom_access函数。
我添加了一个RouteSubscriber,并将访问检查指向我自己的控制器。现在我想要这样的东西:
if ($condition) {
return $new_access_decision;
}
return $original_controller->accessCheck()因此,对于大多数情况,我可以相反地依赖原始逻辑,而只对一小部分情况进行重写。
不过,我不知道如何将原始控制器插入到我的矿井中,如果我试图将它作为参数添加到RouteSubscriber服务中,我将得到
对不存在的服务具有依赖关系。
我的意思是控制器不是服务。
发布于 2022-01-14 09:29:56
将class_resolver注入为常规服务,然后调用
$this->class_resolver->getInstanceFromDefinition('\Drupal\example\ExampleController');https://drupal.stackexchange.com/questions/309182
复制相似问题