メソッドチェーン

概要

メソッドをつなげて実行するちょっと変態的なコード

メソッドを実行する際、戻り値に自身(this)を返却されることで使用可能


サンプル

ソース

<?php
class TestClass01{
 
	// メンバ変数
	private $a;
	private $b;
	private $c;
	private $d;
 
	// コンストラクタ
	function __construct(){
		echo __METHOD__ . "\n";
 
		$this->a = "aaa";
		$this->b = "bbb";
		$this->c = "ccc";
		$this->d = "ddd";
	}
 
	// デストラクタ
	function __destruct(){
		echo __METHOD__ . "\n";
	}
 
	// メソッド
	public function test01(){
		echo $this->a . "\n";
 
		// 自身のオブジェクトを返却
		return $this;
	}
	// 
	public function test02(){
		echo $this->b . "\n";
 
		// 自身のオブジェクトを返却
		return $this;
	}
	// 
	public function test03(){
		echo $this->c . "\n";
 
		// 自身のオブジェクトを返却
		return $this;
	}
	// 
	public function test04(){
		echo $this->d . "\n";
 
		// 自身のオブジェクトを返却
		return $this;
	}
}
 
// チェーンメソッドテスト
(new TestClass01)
	->test01()
		->test02();
 
 

ソース

>php -f sample01.php
TestClass01::__construct
aaa
bbb
TestClass01::__destruct
 
>
 



最終更新:2012年11月25日 22:05