Aleksey exec Asked:2020-03-08 17:42:36 +0000 UTC2020-03-08 17:42:36 +0000 UTC 2020-03-08 17:42:36 +0000 UTC 如何通过方法实现方法调用? 772 有时我会看到这段代码 $a = new A; $a->method1()->method2(); 如何实现method2,它本质上是闭包还是回调? php 1 个回答 Voted Best Answer Peresada 2020-03-08T17:57:23Z2020-03-08T17:57:23Z 只是method1方法返回了类对象的一个实例。因此,$a->method1() 是同一个对象 A,通过这个方法执行了一些操作。这既不是回调也不是闭包。 class A { public function method1() { // какой-то код return $this; // возвращает сам себя } public function method2() { // какой-то код return $this; } } $a = new A(); $a->method1()->method2(); 为了方便起见,更多地使用这种结构。如果方法没有返回对象,那么构造看起来像 $a = new A(); $a->method1(); $a->method2();
只是method1方法返回了类对象的一个实例。因此,$a->method1() 是同一个对象 A,通过这个方法执行了一些操作。这既不是回调也不是闭包。
为了方便起见,更多地使用这种结构。如果方法没有返回对象,那么构造看起来像