我想定义一个 Singleton 基类型,用户将从中派生他的类,所以这就是我的想法:
interface SingletonInterface {
public static function getInstance();
}
abstract class SingletonAbstract implements SingletonInterface {
abstract protected function __construct();
final private function __clone() {}
}
但是使用这种方法,用户可以实现这个单例......
class BadImpl implements SingletonInterface {
public static function getInstance() {
return new self;
}
}
您的方法是什么?
最佳答案
请记住 PHP 不允许多重继承,因此您必须仔细选择类的基础。单例很容易实现,最好让每个类都定义它。 还要注意私有(private)字段不会移植到后代类,因此您可以有两个具有相同名称的不同字段。
关于php - 是否可以在 PHP 中定义接口(interface) Singleton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518737/