CakePHP中的变量命名约定

3
什么是包含多个单词的变量最佳命名方式?在浏览了许多在CakePHP forge上可用的项目后,我发现人们使用驼峰式、下划线或者驼峰式来命名变量,并使用下划线将数据发送到视图。最后一个示例如下:
$activeSites = $this->Site->find('all',array('conditions'=>array('Site.active' => '1'), 'recursive' => -1));
$this->controller->set('active_sites', activeSites);
7个回答

7

2
值得一提的是,核心开发人员对此感到非常强烈,以至于甚至在某个时候还对使用compact()函数传递的参数进行了强制执行! - dr Hannibal Lecter
1
此外,如果你仔细观察,在将变量以驼峰式形式传递给视图时,表单助手会喜欢它并将其吞噬。我记不清具体细节了,所以拿这个例子来说要有点保留:如果你在视图中创建了一个下拉菜单,像这样"$form->input('venue_type', array('type' => 'select'))",如果你传递一个名为$venueTypes(或类似的)的变量,表单助手将自动将其用作该字段的$options数组。 :) - deizel.

6

大多数人会告诉你,没有“最好的方法”来命名变量,除了保持一致。选择自己喜欢的命名约定,并坚持使用它。如果你正在继续一个项目,请保持已经存在的命名约定。这是我能给你的所有建议。


1

这个问题没有标准答案。通常我会给它命名为:

$active_sites = $this->Site->find('all',array('conditions'=>array('Site.active' => '1'), 'recursive' => -1));
$this->controller->set('active_sites', $active_sites);

我认为任何方式都可以,但是你的示例表明视图和控制器中的变量不同。这可以通过在整个代码中采用$active_sites或$activeSites来避免。

(实际上,过了一段时间后,我开始在所有地方使用下划线。)


1

变量名应尽可能描述清楚,但也要尽可能简短。普通变量应以小写字母开头,并在多个单词的情况下使用驼峰式大小写。包含对象的变量应以大写字母开头,并以某种方式与变量所属的类相关联。例如:

<?php  
     $user = 'John';
     $users = array('John', 'Hans', 'Arne');
     $Dispatcher = new Dispatcher();
?>

1

Cakephp的创始人使用驼峰式命名风格


0

通常情况下,对于大小写不敏感的标签,您使用下划线和仅小写/大写字母。在传递时,它们可能以区分大小写的方式处理。

不区分大小写的示例:

  • GET / POST属性 - 但在服务器端,它们可能以区分大小写的方式处理
  • 网址 - 但在服务器端,它们可能以区分大小写的方式处理
  • Windows上的文件名 - 但在转移到*nix系统时,它们是区分大小写的

0

对于 cakePHP 来说,应该使用 camelCase


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接