2009-07-10 191 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(); 
?>