为什么localhost:8000不起作用,而...:8000 / test在symfony上正常工作?

时间:2016-07-11 15:50:18

标签: php symfony

我对Symfony完全陌生,所以请耐心等待。我试图配置我的控制器至少得到一个工作的网页。我创建了一个新的Symfony项目并启动了我的服务器。在将一些代码写入MyController

之后
<?php

namespace AppBundle\Controller;

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

 class MyController
{
 /**
 * @Route("/test")
 */
 public function numberAction()
 {
    $prankBro= "Its just a prank bro";

    return new Response($prankBro);
 }
}

尝试访问localhost:8000后,我收到致命的404错误:No route found for "GET /"作为一个完整的初学者,我不知道这是什么。我相信它是某种响应类型,虽然我不确定。 另一方面,如果我使用localhost:8000/test它似乎工作正常,我得到的网页上有一条消息说这只是一个恶作剧兄弟:)这是怎么回事在symfony?它真的与我的大脑混淆了,所以如果它很好,有人可以解释为什么普通localhost:8000 URL给我404错误?谢谢!

1 个答案:

答案 0 :(得分:1)

注意上面numberAction的评论:

/**
* @Route("/test")
*/

这意味着我为localhost:8000/test设置了一条路线,该路线将执行numberAction方法。

您需要创建一个将成为主页的方法,然后为/创建一个运行新方法的路由。然后当您访问localhost:8000时,您的新方法将被执行。

有关如何设置路线的详细信息,请参阅Symphony documentation