メソッドチェーン
概要
メソッドをつなげて実行するちょっと変態的なコード
メソッドを実行する際、戻り値に自身(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