控制器检查处理操作的要求

时间:2016-10-01 23:10:48

标签: php symfony lifecycle

我想在处理控制器操作之前弄清楚是否有检查要求的可能性。在Nette中有一些方法,例如console.logcheckRequirementsonStartup,我可以查看此内容。

我有api资源beforeRender,我希望每次处理 SongController 上的任何操作并且返回404时,检查是否存在给定album/{albumId}/song/的相册状态代码,如果没有。

到目前为止,我发现this article in Symfony documentation我发现没有像idpreExecute这样的方法。但是我想有捆绑或类似的东西来添加这些方法。我认为创建新类只在一个控制器中使用它是没有意义的。

还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

ParamConverter这样做。它使用路由提供的id查找实体并抛出异常,如果找不到任何内容则返回404.

// paramConverter requires that you type-hint a class, which is a best practice anyway :)
public function getArtist(\Appbundle\Entity\Song $song)
{
    //...
}