PHP 是否允许类函数和属性共享相同的名称?



我的一位老同事在我们的代码中写道:

public function paginate() {
    return $this->paginate;
}

我想知道:这会返回函数paginate((还是类属性$paginate?

我猜是后者,但奇怪的是,我没有找到任何关于这个主题的信息。

返回类属性$paginate

如果是return $this->someName();

则返回函数CCD_ 3。

PHP中函数调用后的括号不是可选的,普通的方法和函数也不是"第一类对象";(它们本身不能作为变量进行操作,例如在JavaScript中(。

因此不存在歧义,因为$this->paginate();必须是函数调用,而$this->paginate;必须是变量引用。

然而,这并不是一个特别好的做法,编辑、IDE等可能会强调这是一个警告。

通常的做法是,函数和方法以动词开头(它的作用是(,属性名以名词开头(它>的意义是(。因此,该属性可能应该是";"分页";,并且该方法或者";paginate";(获取数据并创建一些分页(,或者";getPagination";(返回"分页"属性(。

返回对象属性:

$this->paginate;

使对象方法运行(类中的函数称为方法(

$this->paginate();

如果函数声明为public,它将返回函数所属的类的$paginate属性或其他类的属性。

相关内容

  • 没有找到相关文章

最新更新