控制器的MVC命名约定

时间:2014-04-11 17:26:48

标签: php naming-conventions

我的网站有MVC结构。我尽量保持控制器的名称尽可能干净和连贯。但我想知道如何命名POST与GET控制器。例如,假设我有一个控制器负责显示管理面板中涉及编辑/创建图像的部分:

class AdminImageController extends Controller
{

}

虽然我有另一个控制器负责从管理面板的这一部分发布数据。例如发布新图像,发布已编辑的图像,以及处理本节请求的POST类型的任何内容:

class AdminImageController extends Controller
{

}

它们都具有相同的名称,因此会出错并退出脚本。我想要做的是如何命名它们,保持它们的一致性,连贯性和干净性,是否添加请求动词有用?还是常见的?

如:

AdminGetImageController()

对于POST:

AdminPostImageController()

我不想在这里讨论,我只需要知道行业中的标准(因为它没有经验),因为命名约定如果没有正确提供,则会提前出现问题。

1 个答案:

答案 0 :(得分:2)

您的控制器通常会处理各种请求,无论他们是否使用GETPOST。您的控制器命名正确,但您的操作方法方法有点偏。

这是C#中的一个例子:

public class AdminImageController : Controller
{
    [HttpGet] // only accepts GET requests
    public ActionResult Image()
    {
        // do stuff...

        return View();
    }

    [HttpPost] // only accepts POST requests
    public ActionResult Image(HttpPostedFileBase data)
    {
        // do stuff...

        // redirect back to the GET action
        return RedirectToAction("Image");
    }    
}

[HttpGet] and [HttpPost] attributes内置于MVC中,可应用于单个操作或整个控制器。