2016-10-01 53 views
0

我想知道是否有在處理控制器動作之前檢查需求的可能性。在Nette有方法,如checkRequirements,onStartup,beforeRender我可以在這裏檢查。控制器檢查處理動作的要求

我有API資源album/{albumId}/song/,我想檢查是否專輯給id存在每個被處理我SongController任何行動時,如果沒有返回404狀態碼

到目前爲止,我找到了this article in Symfony documentation,在那裏我發現沒有像preExecutepostExecute這樣的方法。不過,我想有捆綁或類似的東西,以添加這些方法。我認爲創建新類只能在一個控制器中使用它是沒有意義的。

還有其他的選擇嗎?

回答

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) 
{ 
    //... 
} 
相關問題