[英]How can I have optional parameters in Symfony2 route?
我在下面有這個代碼:
/**
* Lists all User entities.
*
* @Route("/{cid}",defaults={"cid" = null},name="user")
* @Template()
*/
public function indexAction($cid=null)
{}
現在,如果我輸入site/user/1
那么它就可以工作,但是如果我輸入site/user/
它會說:
No route found
我怎么能知道兩條路線都有效?
嘗試轉到site/user
(注意末尾沒有反斜杠)。
一般來說它應該可以工作,我有相對相似的配置工作。
但是,如果所有其他方法都失敗了,您始終可以為同一操作定義多個路由,即
/**
* Lists all User entities.
*
* @Route("/", name="user_no_cid")
* @Route("/{cid}", name="user")
* @Template()
*/
public function indexAction($cid=null)
{
使用 yml 文件進行路由配置,並在路由參數中為 id 添加默認值,如下所示:
user:
pattern: /site/user/{id}
defaults: { _controller: YourBundle:Default:index, id: 1 }
請參閱此處的文檔
你也可以用一個 GET 參數來做,例如
/**
* @param Request $request
*
* @return Response
*/
public function displayDetailAction(Request $request) : Response
{
if ($courseId = $request->query->get('courseId')) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.