我有一个非常明确的标准Symfony安装,这是主页http://triod.ru/project/web/ (我只改变了开发,所以我可以看到日志)
我在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官方教程/文档,但它不起作用。我不知道怎么可能。
答案 0 :(得分:1)
如上所述,扩展基类Controller对我来说不起作用。要解决这个问题,我必须在web / app.php中进行以下更改
$kernel = new AppKernel('prod', true);
此外,我必须添加&#39; en&#39;在网址中: http://scotchbox.demo/en/lucky/number
答案 1 :(得分:0)
我认为您需要从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>'
);
}
}
答案 2 :(得分:0)
Tommie是对的,我刚刚完成你的代码:
<?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>'
);
}
}