在smyfony的routing page上是一个路由示例(第一个)。现在,他们为我们提供了4种代码选项(注释,YAML,XML,PHP)。区别在哪里?也许你可以查看我的Controller + Route
。
控制器如下所示:
<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class ToDoListController extends Controller
{
/**
* @Route("/ToDoList", name="ToDoList")
*/
public function showToDoList()
{
}
}
?>
现在我也将此路线添加到routing.yml
。
ToDoList:
path: /Aufgabenliste
defaults: {_controller: AppBundle\Controller \ToDoListController::showToDoList}
这是对的吗?关于路径怎么样?在symfony页面的第一个例子中,他们写了defaults: { _controller: AppBundle:Blog:show }
,但在描述中他们写道:
_controller字符串称为逻辑名称。它遵循指向特定PHP类和方法的模式,在本例中为AppBundle \ Controller \ BlogController :: listAction和AppBundle \ Controller \ BlogController :: showAction方法。
答案 0 :(得分:1)
奥莱特。所以在Symfony中,您可以选择不同的路由方法。你可以这样做,例如通过注释或yml(我以前使用yml,但现在我切换到注释)。唯一的区别在于...格式的文件;)例如,我真的很喜欢使用注释,因为在一个文件中没有十亿个条目,我的每条路径都在它所导致的代码旁边。在这一点上,它取决于你更喜欢什么。但是我认为使用注释是一种很好的做法。
<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class ToDoListController extends Controller
{
/**
* @Route("/ToDoList", name="ToDoList")
*/
public function showToDoList()
{
}
}
?>
上面的代码没问题 - 您使用了必需的命名空间并创建了正确的注释。所有这一切都必须在你正在进行的捆绑中进行。你还得去app / config / routing.yml,并把它放在这样的东西:
YourBundleName:
resource: "@YouBundle/Controller/"
type: annotation
当然这只是一个例子 - 您需要根据自己的需要进行调整。这样你就可以对Symfony说你想要使用注释。