1 行のステートメントでクラスの複数のメソッドを呼び出すにはどうすればよいですか?

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(); これは機能しません。

どうやって書けばいいですか? 1 行のステートメントで 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート