在一行语句里调用一个类的多个方法,该怎么写?

WBOY
发布: 2016-06-23 13:50:33
原创
1105 人浏览过

比如这句:

$this->m_button6PaneInfo->Movable( false )->Dock()->Fixed()->BottomDockable( false )->TopDockable( false )->Layer( 10 )->ToolbarPane();
登录后复制

$this->m_button6PaneInfo 是一个类实例。后面的全是该类的方法。
这条语句是无法通过的,至少我的php版本无法通过。

除了拆成多行外,这条该怎么改?才能正确执行?
或者升级到哪个版本?才可以这样写


回复讨论(解决方案)

只要那些方法返回的是 $this 那么就不会不能通过

只要那些方法返回的是 $this 那么就不会不能通过


用清晰的代码表述一下:
<?phpclass testcls{	function fun1(){		echo 'fun1';	}	function fun2(){		echo 'fun1';	}	function fun3(){		echo 'fun3';	}}$test = new testcls();$test->fun1()->fun2()->fun3();?>
登录后复制

$test->fun1()->fun2()->fun3(); 这样写不行。
那该怎么写?用一行语句调用3个方法。

这样写

class testcls{    function fun1(){        echo 'fun1';        return $this;    }    function fun2(){        echo 'fun1';        return $this;    }    function fun3(){        echo 'fun3';        return $this;    }}$test = new testcls();$test->fun1()->fun2()->fun3();
登录后复制

链式操作的前提,每次操作都返回对象本身。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板