PHPのシングルトンでコンストラクタ的な動きをする


通常通りコンストラクタに記述はできないので、ちょっと工夫をする

[php]

$id = 100;

class Singleton {

private $id = null;

private static $instance = null;

function __construct($id) {
$this->id = $id;
}

public static function getInstance($id) {

if (is_null(self::$instance)) {

self::$instance = new self($id);

}

return self::$instance;

}

public function getId() {
return $this->id;
}

}

$sample = Singleton::getInstance($id);
$sample->getId();

[/php]

これで getInstance 実行時に引数を渡せば自身のコンストラクタを実行できる。

まさかPHPで自身にスコープができるとは知らなかった。


この投稿へのコメント

コメントはありません。

コメントを残す

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL