PHP(PEAR,Zend等)编码标准指定类名称应该位于上层CamelCase中,而方法和变量(关联数组键也可以)应该采用较低的camelCase格式。在CamelCase中使用类和下划线的基本原理是模拟名称空间并创建与文件位置的并行,但是有些时候我发现它对于类很有用,它对变量没有太大的作用。为什么变量名应该在PHP编码标准中被驼峰化?
假设您必须将某些变量映射到您的数据库列或表单元素。 MySQL不区分大小写(我知道),也不是html,因此$ data ['userId']与$ data ['userid']几乎相同。象Doctrine这样的ORM实际上忽略了camelCasing的列,并且只是以小写的方式获取它们(或者它只是像mysql一样返回它们)。没有人愿意处理可能或者不可能看起来像$ data ['productQuantity']或$ data ['productquantity']的数据,这取决于它的位置。另一方面,$ data ['product_quantity']的含义不明确。
那么什么是背后的当前变量编码标准的命名方案?什么阻止PHP修改这个标准,说所有的变量都应该用小写字母分隔,并用下划线分开(因为我们知道类名应该以大写字母开头)。
编辑:
请注意,我不要求什么是标准的目的。我知道他们一般意味着要解决什么问题。我在问为什么PHP中的名称标准是变量。即我理解类命名方案背后的原因以及采用它的好处(使您的磁带库与许多自动加载器兼容,等等)。但我不明白为什么骆驼变形变量名称。有特别的原因吗?我能否摆脱这种后果?
这是大多数标准背后的基本原理。我要求的变量名称具体命名方案背后的基本原理。我的第二段解释了另一种使用所有小写字母和下划线作为变量名的命名方案与常见的数据库命名方案(即userId vs user_id)更加兼容。拥有这个特定方案并且不采用我提到的方案的一个很好的理由是什么? – 2010-02-18 08:16:07
@ michael:就我而言,我不浪费时间研究这些事情,我不能改变,不会让我受益,但我仍然必须与他们一起:( – Sarfraz 2010-02-18 08:25:13