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

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿