我在这里找到了关于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清除缓存:清除没有帮助。
答案 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>'
);
}
}