可能重复:
What's the deal with a leading underscore in PHP class methods?
我认为它非常具有描述性......如果你看到一个以php下划线开头的函数是什么意思?我已经看过很多次了,但我还是不知道它是什么!它仍然有效,但从下划线开始看起来很奇怪,我怀疑它只是一个惯例,但我不知道它是什么。我不是在讨论双下划线函数(即__construct())而是单个下划线。
我最好的猜测是,这意味着它是你自己独特的功能,你希望别人知道吗?
答案 0 :(得分:11)
就语言本身而言,没有任何意义,但单下划线前缀通常用于表示“私人”或“隐藏”类成员。
有时您会看到所有private
和protected
成员都加上下划线,只是为了让它们更加明显,它们不会公开。其他时候,无论访问级别如何,下划线都可以表示“内部”功能,可以在技术上使用,但不鼓励使用。
答案 1 :(得分:4)
通常,程序员在函数中使用前导下划线来表示这是一个内部(不是从外部调用)函数,如果可能的话,他们会将其设为私有。
这只是一种练习。一般来说,允许函数名以下划线开头的编程语言不会以任何方式将它们与其他函数区别对待。即使某种语言允许您明确地将某个功能设为私有,人们仍可能习惯性地使用此惯例。