为什么类可以用->一次性调用多个方法

比如tp框架M('table')->where()->limit()->find();

下面这么写为什么会报错

<?php
/**
* 
*/
class bb
{
    

    public function fc1(){
        

    }

    public function fc2(){
        
        
    }
    public function fc3(){
        
    }
}

$bb = new bb();
$bb->fc1()->fc2()->fc3();
慕莱坞森
浏览 466回答 6
6回答

慕森卡

方法里返回当前对象。 <?php class bb { public function fc1(){ return $this; } public function fc2(){ return $this; } public function fc3(){ return $this; } } $bb = new bb(); $bb->fc1()->fc2()->fc3();

撒科打诨

这个叫做 链式调用 每个方法直接返回this是最常见的方式。

素胚勾勒不出你

一种编程风格叫链式编程,原理就是调用的属性或者方法的返回值是调用者本身。具体可以google下。

婷婷同学_

这个链式调用风格。通常在函数中实现某个方法后,返回当前对象. public function fn1(){ //dosomething return $this; } 由于函数返回的是当前的对象,因此有可以调用其他方法。

鸿蒙传说

有箭头 说明它是个对象 方法里要返回对象才能使用箭头
打开App,查看更多内容
随时随地看视频慕课网APP