8

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

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

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

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

4

4 回答 4

5

这将返回类属性$paginate

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

然后它返回函数someName()

于 2013-04-03T08:05:14.517 回答
2

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

因此没有歧义,因为$this->paginate();必须是函数调用,并且$this->paginate;必须是变量引用。

但是,这不是特别好的做法,编辑器、IDE 等可能会将其突出显示为警告。一般来说,函数和方法应该以动词而不是名词开头,所以函数最好命名为getPaginate()

于 2013-04-03T08:17:09.507 回答
1

返回一个对象属性:

$this->paginate;

对比

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

$this->paginate();
于 2013-04-03T08:06:58.563 回答
0

如果它被声明为,它将返回$paginate函数所属的类的属性或来自另一个类的 ihnerits public

于 2013-04-03T08:05:16.357 回答