我想創造我的控制器,如果它不是在傳遞一個處理category
空值的行動的第一項Symfony3:默認的參數得到,即使默認爲null的
我已經試過註釋2條路線(。一個沒有/{category}
),但在任何情況下,當我沒有在URL中提供一個類別時,Symfony會檢索它可以找到的第一個類別。
@Route("/accounts/{id}/categories/{category}", defaults={"category" = null})
的動作定義是這樣的:
public function categoryAction(Request $request, Account $account, Category $category)
我也曾在行動試圖$category = null
,但這並不有所作爲。
如果該類別未在url中定義,我如何使此動作的值爲$category
,值爲null
?
更新:
需要明確的是,這裏是我的Xdebug的結果的意見充分的註釋和功能定義:
/**
* @Route("/accounts/{id}/categories")
* @Route("/accounts/{id}/categories/{category}, defaults={"category" = null}")
*/
public function categoryAction(Request $request, Account $account, Category $category = null)
{
// When I set a breakpoint here, $category is populated with
// the first category result in the database.
// This is when visiting: http://localhost:8000/accounts/1/categories
也許我的問題是在別的地方。這就是我想要對2條路線進行註釋的意思,其中一條沒有/分類。即使這是註釋的唯一路由,並且我使用php來默認'$ category = null','$ category'仍然會填充一個值。 – Coder1