我有以下类。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