2015-12-24 27 views
0

定義這是我的控制器,

/** 
* @Route("/products") 
* @Template() 
*/ 
public function productsAction() { 
    if (isset($_GET)) { 
      echo 'Category set'; 
      exit(); 
    }else{ 
      echo 'Category not set'; 
      exit(); 
    } 
} 

這是輸出我得到的,

類別設置

http://localhost:8000/products由加載此網址。 這將是很大的幫助,人們可以看看它。

+2

'$ _GET' ='array()'!='unset'。即使你沒有任何鍵,它仍然是一個空陣列。 – FirstOne

+3

可能重複[如何檢查$ \ _ GET是否爲空?](http://stackoverflow.com/questions/3408616/how-to-check-if-get-is-empty) – FirstOne

回答

5

如果您使用symfony框架進行路由等,則不應該試圖直接訪問超全局$_GET

如果您嘗試在存在類別時執行某些操作,請將類別作爲動態變量作爲第二個參數傳遞給路由。第一個將是這個功能。然後$函數中可以使用$ category。

/** 
* @Route("/products/{category}") 
* @Template() 
*/ 
public function productsAction($category) { 
    //$category is set so do something 
    echo 'Category '. $category .' is set.'; 
} 
+0

只是一個旁註,@Template ()不應該被使用,因爲它有開銷問題,不被symfony文檔推薦 – Dheeraj

2

爲了增加@Ohgodwhy也不要使用exit內的symfony。

+0

我不相信我在symfony中使用了'exit'。 – Ohgodwhy

+0

我指的是這個問題本身 – Oras