【问题标题】:Symfony 3 simple route dosn't workSymfony 3简单路线不起作用
【发布时间】:2016-03-19 17:42:59
【问题描述】:

我有一个绝对清晰的标准 Symfony 安装,这是主页http://triod.ru/project/web/ (我只将 prod 更改为 dev,以便查看日志)

我在 src/AppBundle/Controller 目录下创建了一个文件 LuckyController.php

<?
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
    /**
     * @Route("/lucky/number")
     */
    public function numberAction()
    {
        $number = rand(0, 100);

        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}

但页面上没有任何内容http://triod.ru/project/web/lucky/number 该课程本身取自 Symfony 官方教程/文档,但它不起作用。我不知道这怎么可能。

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    如上所述,扩展基类 Controller 对我不起作用。为了解决这个问题,我必须在 web/app.php 中进行以下更改

    $kernel = new AppKernel('prod', true);
    

    我还必须在网址中添加“en”: http://scotchbox.demo/en/lucky/number

    【讨论】:

      【解决方案2】:

      我认为您需要从 symfony 扩展 Controller 类才能使其正常工作。

      class LuckyController extends Controller
      {
          /**
           * @Route("/lucky/number")
           */
          public function numberAction()
          {
              $number = rand(0, 100);
      
              return new Response(
                  '<html><body>Lucky number: '.$number.'</body></html>'
              );
          }
      }
      

      【讨论】:

        【解决方案3】:

        汤米说得对,我只是完成了你的代码:

        <?php
        // src/AppBundle/Controller/LuckyController.php
        namespace AppBundle\Controller;
        
        use Symfony\Bundle\FrameworkBundle\Controller\Controller;
        use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
        use Symfony\Component\HttpFoundation\Response;
        
        class LuckyController extends Controller
        {
            /**
             * @Route("/lucky/number")
             */
            public function numberAction()
            {
                $number = rand(0, 100);
        
                return new Response(
                    '<html><body>Lucky number: '.$number.'</body></html>'
                );
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-21
          • 2011-07-04
          • 2013-10-30
          • 2012-03-10
          • 2011-05-26
          • 2017-10-10
          相关资源
          最近更新 更多