php - 是否可以在 PHP 中定义接口(interface) Singleton?

标签 php oop singleton

我想定义一个 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/

相关文章:

c++ - 禁止复制构造函数和赋值运算符单例类

php - 建议使用 paypal 的定期付款方式

php - 使用 PHP 和 MySQL 根据总分自动更新用户位置

php - 引用 : What is a perfect code sample using the MySQL extension?

c++ - 错误 : expected constructor, 析构函数,或 '*' token 之前的类型转换

java - 我们应该为 DAO 使用 spring 单例吗

php - Guzzle 中的异步请求正文

C++ 对象创建

c# - OOP:理解抽象

python - python 类中的范围令人惊讶的行为