1

在 PHP 中使用 OOP 时,我见过很多这样编写的函数:function __myfunc(){} 我想知道下划线的作用。我读过他们保护功能,但从什么以及如何保护?

另一个例子:

class myClass{
    function __myFunc(){
        return ' what am i doing?';
    }
}
$question = new myClass;
echo $question->__myFunc();
4

3 回答 3

3

下划线无效。但是,两个下划线用于表示具有特殊含义的魔术函数,例如构造函数__construct()或析构函数__destruct()。有些人使用一个或两个下划线来表示一个方法是“私有的”,即只在内部使用。由于此功能在 PHP >= 5 中作为特殊关键字实现,因此您不应再使用此“下划线”:

class myClass{
    private function myFunc() {
        return ' what am i doing?';
    }
}

$question = new myClass();
echo $question->myFunc(); // fails!
于 2012-11-25T13:10:48.360 回答
2

这基本上是这种方法的代码符号,代码private的用户不应该使用它。(对整体功能至关重要)

您应该只在私有方法上放置下划线符号,这被认为是一种好习惯。

于 2012-11-25T13:07:10.380 回答
1

有一些被称为魔法的函数,其他的只是将它们标记为私有的符号——所以如果你的团队中有人用下划线看到这个函数,他会认为它是私有的。但实际上你可以在课堂之外使用它们。要保护类内的方法,您需要使用访问修饰符

于 2012-11-25T13:10:16.400 回答