CakePHP中的变量命名约定

时间:2009-07-10 12:27:18

标签: php cakephp naming-conventions

命名包含多个单词的变量的最佳方法是什么?经过CakePHP forge中提供的大量项目之后,我注意到人们使用camelCase,下划线或camelCase来获取发送到视图的数据的变量和下划线。

最后一个例子是:

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

7 个答案:

答案 0 :(得分:7)

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

  

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

答案 1 :(得分:5)

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

答案 2 :(得分:1)

对此没有正确或错误的答案。我通常将其命名为:

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

我认为任何方式都可以,但是你的例子显示视图中的变量和控制器不一样。通过在整个过程中采用$ active_sites或$ activeSite可以避免这种情况。

(实际上过了一段时间,我开始到处使用下划线。)

答案 3 :(得分:1)

Cakephp创始人使用camelCase风格

答案 4 :(得分:1)

变量名称应尽可能具有描述性,但也应尽可能短。普通变量应该以小写字母开头,并且应该用camelBack编写?在多个单词的情况下。包含对象的变量应以大写字母开头,并以某种方式与该类关联,该变量是其对象。例如:

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

答案 5 :(得分:0)

通常,对于不区分大小写的标签,您只使用下划线,并且只使用小写/大写。传递时,可以以区分大小写的方式处理它们。

不区分大小写的示例:

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

答案 6 :(得分:0)

cakePHP 它应该是 camelCase