困惑 - 调用方法调用方法的对象

时间:2013-10-08 09:54:57

标签: php

我经常看到这样的代码:

X::y()->z();

这是一个静态对象调用方法y,y返回一个对象的结果,然后该对象调用一个名为z的方法?

谢谢。

4 个答案:

答案 0 :(得分:1)

静态对象没有调用y,但静态地在类上调用方法y。除此之外,你是对的。

答案 1 :(得分:0)

看起来像这样:

class X {
  public static function y(){
    return new self();
  }

  public function z(){

  }
}

答案 2 :(得分:0)

您正在对象 X 上调用静态方法 y(),然后在结果对象上调用 z()方法从 y()

返回

答案 3 :(得分:0)

它可能是也可能不是静态方法调用。如果调用是从实例化的类中进行的,并且X是该类的父级,则该调用可能是非静态的。

有一件事是肯定的:X::y()会返回一个对象。