我的一位老同事在我们的代码中写道:
public function paginate() {
return $this->paginate;
}
我想知道:这会返回函数paginate()还是类属性$ paginate?
我猜测后者,但奇怪的是我没有找到关于这个主题的任何信息。
答案 0 :(得分:5)
返回类属性$paginate
。
如果是return $this->someName();
然后返回函数someName()
。
答案 1 :(得分:2)
PHP中函数调用后的括号不是可选的,普通方法和函数不是“第一类对象”(它们本身不能作为变量操作,例如,在JavaScript中)。
因此没有歧义,因为$this->paginate();
必须是函数调用,而$this->paginate;
必须是变量引用。
然而,这并不是特别好的做法,编辑,IDE等可能会将其作为警告突出显示。一般来说,函数和方法应该以动词而不是名词开头,因此函数更好地命名为getPaginate()
答案 2 :(得分:1)
返回一个对象属性:
$this->paginate;
VS
导致运行对象方法(类中的函数称为方法)
$this->paginate();
答案 3 :(得分:0)
如果声明为$paginate
,它将返回该函数所属类的public
属性或来自另一个类的ihnerits属性。