Symfony 控制器教程错误

Symfony controller tutorial error

我正在学习如何使用 Symfony (http://symfony.com/doc/current/quick_tour/the_controller.html),但是在完成 "Route Parameters" 部分并转到 localhost/hello/fabien 之后,我收到:

"404 未找到请求的 URL /hello/fabien 在此服务器上未找到。"。

但是,我看不出我做错了什么 - 下面是我的代码:

config.yml

# ...
framework:
        templating:
        {engines: ['twig','php']}

默认控制器:

<?php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction()
    {
       /** return new Response('Welcome to Symfony!');*/
          return $this->render('default/index.html.twig');
    }


    /**
     * @Route("/hello/{name}", name="hello")
     */
    public function helloAction($name)
    {
        return $this->render('default/hello.html.twig', array(
            'name' => $name
        ));
    }
}

base.html.twig

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}{% endblock %}
    </body>
</html>

hello.html.twig

{# app/Resources/views/default/hello.html.twig #}
{% extends 'base.html.twig' %}

{% block body %}
    <h1>Hi {{ name }}! Welcome to Symfony!</h1>
{% endblock %}

错误消息是不言自明的。代码应该是这样的:

 /**
 * @Route("/hello/{name}", name="hello")
 */
public function helloAction($name)
{
    return $this->render('AppBundle:default:hello.html.twig', array(
        'name' => $name
    ));
}

或使用注释简化:

 /**
 * @Route("/hello/{name}", name="hello")
 * @Template()
 */
public function helloAction($name)
{
    return array(
        'name' => $name
    );
}

在我的例子中,我只是删除了 {% extends 'mybase.html.twig' %} 和 运行 它开始工作的代码,然后我再次将它放在同一个地方并且它正在工作。似乎可能是一些缓存问题。所以我请求你也清除缓存。

谢谢 里金