我有以下類。php oop擴展問題
class base {
private function __construct(){
//check if foo method exists
//$this->foo(); // if it exists
}
public static function singleton(){
if(!isset(self::$singleton)){
self::$singleton = new base();
}
return self::$singleton;
}
}
class sub extends base{
public function __construct() {
parent::singleton();
}
public function foo(){
}
}
然後初始化它像這樣
$test = new sub();
我的問題是,我想檢查base __construct
如果子有foo
方法。 但它似乎沒有這種方法。
有人能告訴我我哪裏出錯了嗎?
爲什麼要檢查'foo'方法?而你的單例實現有點奇怪。 – NullUserException 2010-10-02 18:46:02
我想檢查foo,因爲如果找不到,它可以調用默認方法。爲什麼這個單身人士很奇怪? – Val 2010-10-02 18:51:37
也許是因爲你的單例方法正在實例化一個完全不同的類,名爲'controller'? – BoltClock 2010-10-02 18:56:21