2011-06-15 69 views
14

我知道下劃線_是命名變量/函數/類等的可接受字符。但是我想知道是否還有其他可以使用的特殊字符。我測試了幾個沒有運氣,並假設很長一段時間沒有,但我想我會看看是否有其他人知道一定。這將是大多是出於美觀的目的,但是我想象特殊字符命名約定與其他開發人員合作,以定義值類型等使用特殊字符的PHP變量/函數/類名稱

+0

謝謝!這些都是非常豐富的答案! – grep 2011-06-15 18:18:34

回答

17

如果檢查docs on variables它說:

變量名遵循相同的規則,如PHP等標籤。有效的變量名稱以字母或下劃線開頭,後跟任意數量的字母,數字或下劃線。作爲一個正則表達式,它將被表述爲: '[A-ZA-Z_ \ x7f- \ XFF] [A-ZA-Z0-9_ \ x7f- \ XFF] *'

但基本上人同意只使用a-zA-Z0-9_而不是「花哨」的名字,因爲它們可能會因使用的編碼而中斷。

所以你可以有一個名爲$aöäüÖÄ可變的,但如果你保存了錯誤的編碼,你可能會遇到麻煩


這同樣適用於功能太btw。

所以

function fooööö($aà) { echo $aà; } 

fooööö("hi"); // will just echo 'hi' 

將只工作了(至少在初期)。


還檢查了:

Exotic names for methods, constants, variables and fields - Bug or Feature?

關於這一主題的討論。

3

函數名稱遵循與PHP中其他標籤相同的規則。有效的函數名稱以字母或下劃線開頭,後跟任意數量的字母,數字或下劃線。作爲正則表達式,它將如此表示:[a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *。

http://www.php.net/manual/en/functions.user-defined.php

變量名遵循相同的規則,如PHP等標籤。有效的變量名稱以字母或下劃線開頭,後跟任意數量的字母,數字或下劃線。爲正則表達式,這將被表述爲: '[A-ZA-Z_ \ x7f- \ XFF] [A-ZA-Z0-9_ \ x7f- \ XFF] *'

http://www.php.net/manual/en/language.variables.basics.php

另請參閱Userland命名指南:http://www.php.net/manual/en/userlandnaming.php

2

您可以找到要查找PHP手冊的信息。知道,已經回答了:

功能名稱遵循與PHP中其他標籤相同的規則。有效的函數名稱以字母或下劃線開頭,後跟任意數量的字母,數字或下劃線。

Function爲正則表達式:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

的手冊中的信息並不反映命名空間(有些人可能看到他們作爲函數名的一部分)。有了一些標識符,PHP手冊中的信息就不準確了。查看PHP Syntax Regulary Expressed瞭解各種元素以及鏈接到他們的PHP手冊。

0

如果你想通過組合元素結構名稱(例如功能和數據庫列或表名),你可以使用雙下劃線作爲分隔符:

social_security_number__check(), 
musical_instrument__tune(), 
vehicle__insert() 

check__social_security_number(), 
tune__musical_instrument(), 
insert__vehicle()