我的一位老同事在我们的代码中写道:
public function paginate() { return $this->paginate; }
我在想:这是返回函数paginate()还是类属性$paginate?我猜是后者,但奇怪的是,我没有找到任何关于这个问题的信息。
sqxo8psd1#
它返回类属性$paginate。如果是return $this->someName();那么它返回函数someName()。
$paginate
return $this->someName();
someName()
bbuxkriu2#
PHP中函数调用后的括号不是可选的,普通的方法和函数不是“第一类对象”(它们本身不能作为变量来操作,例如在JavaScript中)。这样就没有歧义,因为$this->paginate();必须是函数调用,而$this->paginate;必须是变量引用。然而,这并不是特别好的做法,编辑、IDE等可能会强调这是一个警告。通常的做法是函数和方法以动词开始(它做什么),属性名以名词开头(它是什么),所以属性应该是“pagination”,方法可以是"paginate"(获取数据并创建一些分页),也可以是“getPagination”(返回“pagination”属性)。
$this->paginate();
$this->paginate;
svdrlsy43#
返回对象属性:
对比使对象方法运行(类中的函数称为方法)
4ioopgfo4#
它将返回函数所属类的$paginate属性,或者如果声明为public,则返回来自另一个类的属性。
public
4条答案
按热度按时间sqxo8psd1#
它返回类属性
$paginate
。如果是
return $this->someName();
那么它返回函数
someName()
。bbuxkriu2#
PHP中函数调用后的括号不是可选的,普通的方法和函数不是“第一类对象”(它们本身不能作为变量来操作,例如在JavaScript中)。
这样就没有歧义,因为
$this->paginate();
必须是函数调用,而$this->paginate;
必须是变量引用。然而,这并不是特别好的做法,编辑、IDE等可能会强调这是一个警告。
通常的做法是函数和方法以动词开始(它做什么),属性名以名词开头(它是什么),所以属性应该是“pagination”,方法可以是"paginate"(获取数据并创建一些分页),也可以是“getPagination”(返回“pagination”属性)。
svdrlsy43#
返回对象属性:
对比
使对象方法运行(类中的函数称为方法)
4ioopgfo4#
它将返回函数所属类的
$paginate
属性,或者如果声明为public
,则返回来自另一个类的属性。