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

Twitter ツイート Hatena Bookmark ブックマーク

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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
Built with Hugo
テーマ StackJimmy によって設計されています。