当我必须在 Symfony Controller 中创建方法时,我按惯例在控制器的所有方法中添加后缀Action
。
但我想问一下,规则是否要添加Action
sufix?
如果某个功能未返回任何布局或响应仍然是Action
?
示例:
// src/AppBundle/Controller/BlogController.php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class BlogController extends Controller
{
public function showAction($slug)
{
// ...
return $this->render("foo.html.twig")
}
public function eraseElement($element)
{
// ...
return true;
}
}
答案 0 :(得分:4)
从技术上讲,是一个动作。它是绑定到某些URI模式的操作,如果您尝试加载该URI,则会被调用。但同时它是无效控制器,因为symfony控制器必须返回响应。如果他们没有这样的错误:
Error: The controller must return a response (true given).
Action
后缀如何 - 如果您使用YAML
格式使用b:c:m
路由,则必不可少,因为该方法根本不会被识别为操作。如果您使用Annotations
路由,则可能有一个没有后缀的方法,但它仍然是添加&#34; Action&#34;的最佳做法,即使它不是必需的。< / p>
有关更多信息,请阅读以下链接:
答案 1 :(得分:3)
在symfony最佳实践中,您可以阅读:
第一个Symfony版本要求控制器方法名称结束 在行动中(例如newAction(),showAction())。这个后缀变成了 为控制器引入注释时可选。在现代 Symfony应用此后缀既不是必需的也不是推荐的, 所以你可以安全地删除它。
在现代Symfony应用程序中,使用注释是最佳实践:
此外,使用注释进行路由,缓存和 安全性简化了配置。你不需要浏览数十个 用不同格式(YAML,XML,PHP)创建的文件:所有 配置就在您需要的地方,它只使用一种格式。