是否有命名控制器功能的约定?

时间:2012-08-20 17:13:13

标签: php codeigniter naming-conventions

在MVC中,某些控制器功能需要在呈现视图之前访问模型,而其他控制器功能只需加载视图。

在博客应用中,我有两个功能:

public function add_post()
{
    // loads the view for adding a new post
}

public function add_new_post()
{
    // queries database and inserts post
}

我习惯使用Java,其中所有方法都有一个高度暗示的动词,描述了该方法应该做什么。因此,我将使用add_post_view()而不是add_new_post(),而不是add_post(),我将能够使用add_post()。

但我担心最后添加“视图”似乎是多余的 - 但除此之外,我想知道那些喜欢具有高可读性代码的人的约定。你将如何重写这两个函数的名称?

2 个答案:

答案 0 :(得分:2)

对于php,一般来说,没有专门的命名约定,或者我应该说标准化。多年来我为几家公司工作,我已经看到了从thisismyfunction到thisIsMyFunction到this_is_my_function ..

我个人的选择是,如果它的内部功能(模型或控制器等)不是AJAX就绪,我倾向于使用下划线方法,在每个函数之下或之上有几条注释给我一个想法。但对于我打算与AJAX一起使用的函数,例如在控制器中,我通常会使用驼峰式路由。一般来说,这都是关于你的偏好。如果你更喜欢使用下划线,那么如果不是那么请使用驼峰盒,或任何适合你的。

如果这将是一个团队项目,或者可能是一个团队将要登陆的项目,或者您希望被收购的项目。我会说最简单的学习曲线,你最不想做的就是把别人带进来或者卖掉你需要花很长时间去训练人们如何阅读你的代码的产品。而不是收集和去,或只是让他们开始建立。

答案 1 :(得分:1)

使用'瘦'控制器的好习惯,即不在任何单个控制器上添加太多方法。考虑到这一点,我通常有一个名字很好的控制器,那里只有一个(最多两个)公共方法。通常对应于GET和POST。