PHPでシングルトンパターン

January 28, 2011,
tags: php singleton メモ


このエントリーをはてなブックマークに追加

継承元のクラスでこんなふうに書いたらだめだった。
継承先のクラスのオブジェクトをシングルトンで生成したかっただけなんですけどね。

<?php

Abstract class Object
{
	protected static $instance = null;

	protected function __clone() {}
	protected function __construct(){}

	public static function getInstance() {
		if ( is_null( self::$instance ) ) {
			self::$instance = new self();
		}
		return self::$instance;
	}

	Abstract public function show() {}

}

class SingletonObject extends Object
{

	public function show() {
		echo &quot;SingletonObject&quot;;
	}
}

$object = SingletonObject::getInstance();
$object->show();

どうやらPHP5.3からじゃないとむりっぽいです。

comments powered by Disqus