共有先: もっと見る -----解決策-------------------------------- 関数 a でオブジェクトを取得し、このオブジェクトの b メソッドを呼び出します。 b メソッドはオブジェクトを返し、このオブジェクトを通じてその c メソッドを呼び出します。 ------解決策-----
<br />
a()->b()->c();<br />
function a() {<br />
$r = new obj1;<br />
return $r;<br />
}<br />
class obj1{<br />
public function b(){<br />
$r=new obj2;return $r<br />
}<br />
}<br />
class obj2{<br />
public function c(){<br />
//do something<br />
}<br />
}<br />
ログイン後にコピー
- - ---解決策---------
class T {<br />
function b($v) {<br />
echo $v;<br />
return $this;<br />
}<br />
function c($v) {<br />
echo $v;<br />
return $this;<br />
}<br />
}<br />
function a($v) {<br />
echo $v;<br />
return new T;<br />
}<br />
<br />
a('aa')->b('bb')->c('cc');<br />
ログイン後にコピー
-----解決策 --- -----------------
a() は、インスタンス化されたクラスのオブジェクトを返す独立したメソッドです。このクラスには、別のクラスのオブジェクトを返す b 関数があり、c 関数