在PHP中使用OOP时,我看到很多函数都是这样编写的:function __myfunc(){}
我想知道下划线的作用。我读过它们保护功能但是从什么和如何保护?
另一个例子:
class myClass{
function __myFunc(){
return ' what am i doing?';
}
}
$question = new myClass;
echo $question->__myFunc();
答案 0 :(得分:3)
下划线没有效果。但是,两个下划线用于表示具有特殊含义的 magic 函数,例如构造函数__construct()
或析构函数__destruct()
。有些人使用一个或两个下划线来表示方法是“私有的”,即仅在内部使用。由于此功能在PHP> = 5中作为特殊关键字实现,因此您不应再使用此“强调”:
class myClass{
private function myFunc() {
return ' what am i doing?';
}
}
$question = new myClass();
echo $question->myFunc(); // fails!
答案 1 :(得分:2)
这基本上是一种代码符号,表示此方法为private
,并且代码的用户不应该使用它。 (对整体功能至关重要)
您应该只在私有方法上放置下划线符号,这被认为是一种很好的做法。
答案 2 :(得分:1)
有一些被称为magic的函数只是将它们标记为私有的符号 - 所以如果有人形成你的团队,请用下划线看这个函数,他会认为它是私有的。但实际上你可以在课外使用它们。要保护课堂内的方法,您需要使用access modifiers