PHP(PEAR,Zend等)编码标准规定类名应位于CamelCase的上层,而方法和变量(也可能是关联数组键)应采用较低的camelCase格式。在CamelCase和下划线中使用类的基本原理是模拟命名空间并创建与文件位置的并行,但在某种程度上我发现它适用于类,它对变量没有那么多。
假设您必须将一些变量映射到数据库列或表单元素。 MySQL不区分大小写(我知道),也不是html,因此$ data ['userId']与$ data ['userid']几乎相同。像Doctrine这样的ORM实际上忽略了对于列的camelCasing并且只是以小写形式获取它们(或者是mysql只是将它们返回原样)。没有人想要处理可能或可能不像$ data ['productQuantity']或$ data ['productquantity']的数据,具体取决于它的位置。另一方面,$ data ['product_quantity']几乎没有含糊之处。
那么编码标准的当前 变量 命名方案背后的原因是什么?是什么阻止PHP修改这个标准,以便所有变量都应该用小写字母用下划线分隔(因为我们知道类名应该以大写字母开头,所以它有效)?
编辑:
请注意,我不是在问标准的目的是什么。我知道他们一般要解决的问题。我问为什么PHP中的变量名称标准是这样的。即,我理解类命名方案背后的原因以及采用它的好处(使您的库与许多自动加载器兼容,等等)。但我不明白为什么camelCasing 变量名称。有特殊原因吗?我可以脱离这一点而不会产生任何后果吗?
答案 0 :(得分:2)
那背后的原因是什么呢? 编码的变量命名方案 标准?
它生成代码:
答案 1 :(得分:1)
PHP受Java的强烈影响,所以很自然地从那里获取命名方案。我很确定如果PHP是今天发明的,那么人们会使用不同的命名方案。现在它几乎是标准的,所以改变它并不是一个真正的选择。
尽管如此,这是事实上的标准。 PHP语言没有任何命名指南。它主要由各种框架驱动。 (最值得注意的是,PEAR和Zend Framework)
答案 2 :(得分:0)
这只是一种习俗......就像编程社交习惯一样