关于 PHP 下划线命名约定(如“_method”或“_property”)

2022-08-30 18:58:34

这是我一直想知道的一种一般性调查。我通过其他人的代码注意到了很多这样的情况,从来没有真正知道实际原因,只是跟随趋势,所以这里开始了。

为什么有些方法和属性在前面用下划线命名,而其他方法和属性则没有?例如,何时具体使用 ,何时使用 ,或者换句话说,vs. ?function _method()function method()private $_someVariableprivate $someVariable


答案 1

大多数时候,它是 PHP4 的回溯约定,它不支持属性或方法的可见性,库开发人员使用 _ 来指示应该被视为私有的东西,而不是直接从类外部访问。PHP5 确实具有可见性,但该约定仍然经常维护。


答案 2

现在,在2013年,这是PSR-2编码指南“正式”的不良风格

属性名称不应以单个下划线为前缀来表示受保护或私有可见性

资料来源:https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md


推荐