2009-07-10 73 views
2

命名包含多个单词的变量的最佳方式是什么?在经历了CakePHP forge中的大量项目之后,我注意到人们使用camelCase,下划线或camelCase作为发送到视图的数据的变量和下划线。CakePHP中的变量命名约定

最后一个的一个例子是:

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

回答

5

由于大多数人会告诉你,没有“最好的办法”来命名变量,除了要一致。决定你最喜欢的命名约定,并坚持下去。如果您继续进行项目,请保留已存在的命名约定。这是我可以给你的所有建议。

0

通常,对大小写不敏感的标签使用下划线和小写/大写。当被传递时,它们可以以区分大小写的方式处理。

不区分大小写的例子:

  • GET/POST属性 - 但在服务器端,他们可以以大小写敏感的方式
  • 的URL来处理 - 但在服务器端,他们可以以大小写敏感的方式处理
  • 文件名的窗口 - 但是当转移到* nix的系统,他们是大小写敏感的
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来避免。

(过了一会儿其实,我开始使用下划线无处不在)

7

根据用于CakePHP的本身(http://book.cakephp.org/view/509/Coding-Standards#Variables-609)的命名约定,变量的命名方式如下:

普通变量应该以小写字母开头,如果有多个单词,应该用camelBack书写。

+2

另外值得一提的是,核心开发人员对此感到如此强烈,以至于它甚至在使用compact()传递的参数时强制执行! – 2009-07-10 14:30:52

1

CakePHP的创始人使用驼峰风格

1

变量名应该是描述性越好,也越短越好。正常变量应该以小写字母开头,并且应该用camelBack书写?在多个词的情况下。包含对象的变量应该以大写字母开头,并以某种方式关联到变量所属的类。例如:

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