使用特殊字符的PHP变量/函数/类名

时间:2011-06-15 18:08:01

标签: php function syntax label

我理解下划线_是命名变量/函数/类等的可接受字符。但是我想知道是否还有其他特殊字符可以使用。我测试了一些没有运气并且已经假设很长时间没有,但我想我会看到是否有其他人知道肯定。这主要是为了美学目的,但是我想在与其他开发人员合作定义值类型等时,特殊的字符命名约定会很有用。

5 个答案:

答案 0 :(得分:18)

如果您检查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?

关于这个问题的一些讨论。

答案 1 :(得分: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 :(得分:2)

  

有效{变量| function} name以字母或下划线开头,后跟任意数量的字母,数字或下划线。

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

答案 3 :(得分:2)

您可以找到您正在寻找PHP手册的信息。知道了,已经回答:

  

函数名称遵循与PHP中其他标签相同的规则。有效的函数名称以字母或下划线开头,后跟任意数量的字母,数字或下划线。

Function作为正则表达式:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

手册中的信息不反映命名空间(有些人可能会将其视为功能名称的一部分)。有些标识符,PHP手册中的信息并不准确。有关各种元素以及PHP手册的链接,请参阅PHP Syntax Regulary Expressed

答案 4 :(得分:1)

如果要通过组合元素(例如函数,数据库列或表名)来构造名称,可以使用双下划线作为分隔符:

social_security_number__check(),
musical_instrument__tune(),
vehicle__insert()

check__social_security_number(),
tune__musical_instrument(),
insert__vehicle()