是否有完善的PHP命名空间命名约定?

Ign*_*s R 33 php coding-style namespaces naming-conventions

到目前为止,我已经看到了许多用于PHP命名空间的不同命名约定.有些人使用PascalCase\Just\Like\For\Classes,有些人使用,有些underscored\lower_case\names甚至使用Java约定来包名:com\domain\project\package.

问题很简单 - 这些(或其他)公约中的任何一个都可以被称为公认的吗?为什么?是否有像Zend或知名PHP框架开发人员推荐的任何一个?

小智 26

由许多不同PHP框架和项目的贡献者组成的PHP标准工作组提出了以下适当的命名空间使用建议:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

  • 除了回答这个问题外,这无所不能.我看到的唯一提到的大写字母是"供应商名称,名称空间和类名中的字母字符可以是小写和大写的任意组合" (14认同)

tro*_*skn 5

我认为你不能说现在已经有了很好的建立,但有一个RFC讨论PEAR2:http://wiki.php.net/pear/rfc/pear2_naming_standards

我的看法是命名空间是变量的一种形式,因此应遵循与它们相同的约定.我基本上更喜欢lowercase_underscore自由变量(与对象成员相对),所以对我来说最自然的是namespace\ClassName.这也符合其他语言中最流行的惯例.另一方面,可以对5.3之前的伪命名空间进行相同的论证,但这里的事实标准似乎是使用CamelCase.