我想在处理控制器操作之前弄清楚是否有检查要求的可能性。在Nette中有一些方法,例如console.log
,checkRequirements
,onStartup
,我可以查看此内容。
我有api资源beforeRender
,我希望每次处理 SongController 上的任何操作并且返回404时,检查是否存在给定album/{albumId}/song/
的相册状态代码,如果没有。
到目前为止,我发现this article in Symfony documentation我发现没有像id
和preExecute
这样的方法。但是我想有捆绑或类似的东西来添加这些方法。我认为创建新类只在一个控制器中使用它是没有意义的。
还有其他选择吗?
答案 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)
{
//...
}