使用Symfony3进行路由不起作用

时间:2016-05-26 11:45:36

标签: php routing http-status-code-404 yaml symfony

我在这里找到了关于Symfony 3路由问题的所有主题,但它们对我没有帮助。 所以我的问题是我的控制器没有被访问。 这是我的代码:

routing.yaml:

app:
    path: /test
    defaults: {_controller: AppBundle:Lucky:number}

工作区/测试/ SRC /的appbundle /控制器/ LuckyController.php:

<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class LuckyController extends Controller
{
    public function numberAction()
    {
        $number = rand(0, 1000);
        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}

致电时:http://test.local/test 我收到了404,并使用 bin / console cache清除缓存:清除没有帮助。

1 个答案:

答案 0 :(得分:1)

如果您对YML不太满意,为什么不去注释?这可能是您的Controller类使用注释的样子:

    <?php
        namespace AppBundle\Controller;
        use Symfony\Bundle\FrameworkBundle\Controller\Controller;
        use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; //<== BE SURE YOU IMPORTED THE "ROUTE" CLASS
        use Symfony\Component\HttpFoundation\Response;


        /**
         * Lucky controller.
         *
         * @Route("/")
         */
        class LuckyController extends Controller {


            /**
             *
             * @Route("/test", name="lucky_test")
             */
            public function numberAction() {
                $number = rand(0, 1000);
                return new Response(
                    '<html><body>Lucky number: '.$number.'</body></html>'
                );
            }
        }