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