2013-02-14 119 views
6

我是新與Symfony的2 ..我想辦法,基本的東西..我剛剛創建的命令行等把這個在我的控制器捆綁:控制器必須返回響應

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\BrowserKit\Response; 

class DefaultController extends Controller 
{ 
    public function indexAction($name) 
    { 
     return new Response('<html><body>Hello '.$name.'!</body></html>'); 
    } 
} 

和我有一個logicException「發生了。控制器必須返回一個響應」

這不是我在做什麼嗎?

感謝ü

PS:我想補充的routing.yml在應用

acme_hello: 
    resource: "@AcmeHelloBundle/Resources/config/routing.yml" 
    prefix: /

的routing.yml在資源

acme_hello_homepage: 
    pattern: /hello/{name} 
    defaults: { _controller: AcmeHelloBundle:Default:index } 
+0

你確定你所呼叫的正確路線? – moonwave99 2013-02-14 15:22:37

+0

很明顯,它到達控制器..因此,路線是好的沒有? – Marc 2013-02-14 15:24:20

+0

之前,我忘了寫使用的Symfony \分量\ BrowserKit \響應; – Marc 2013-02-14 15:25:03

回答

20

控制器必須返回一個Symfony\Component\HttpFoundation\Response實例,所以你應該有:

use Symfony\Component\HttpFoundation\Response; 

代替

use Symfony\Component\BrowserKit\Response;