symfony2路由问题

时间:2012-08-28 06:05:42

标签: php symfony

我收到以下错误:

The autoloader expected class "Acme\HelloBundle\Controller\HelloController" to be defined in file "/var/www/Symfony/app/../src/Acme/HelloBundle/Controller/HelloController.php". The file was found but the class was not in it, the class name or namespace probably has a typo.

我拥有的控制器代码实际上是:

namespace Acme\HelloBundle\Controller;

use Symfony\Component\HttpFoundation\Response;

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

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:3)

<?php namespace Acme\HelloBundle\Controller; ....

只需在开头添加“* LESS_THAN *”?php标记即可。尝试一下。

答案 1 :(得分:0)

您的控制器应该扩展Symfony\Bundle\FrameworkBundle\Controller\Controller

namespace Acme\HelloBundle\Controller;

use Symfony\Component\HttpFoundation\Response;
use namespace Acme\HelloBundle\Controller;


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