PHPでシングルトンパターン
継承元のクラスでこんなふうに書いたらだめだった。
継承先のクラスのオブジェクトをシングルトンで生成したかっただけなんですけどね。
<?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 "SingletonObject";
}
}
$object = SingletonObject::getInstance();
$object->show();
どうやらPHP5.3からじゃないとむりっぽいです。