gpt4 book ai didi

php - 抽象类在 PHP 中扩展抽象类?

转载 作者:可可西里 更新时间:2023-10-31 23:12:04 24 4
gpt4 key购买 nike

我正在研究一个简单的抽象数据库类。在我对这个类的使用中,我希望有一些实例是一个单例。我在想有一个不是单例的抽象类,然后将它扩展到另一个单例的抽象类。这可能吗?推荐?


编辑:我想要两个几乎相同的抽象,除了一个是单例。所以唯一的区别将是一个将具有另一个的所有功能,但将具有使其表现得像单例的其他属性和方法。

我希望为此创建一个基类代码库,这样当我进行更改时,我就不必使两个文件保持同步。

最佳答案

在我做事的方式中,我认为抽象单例没有用处。这是因为,

1) 您想要成为单例的是您实例化以在应用程序中使用的最终类,无论它是库、模型、 Controller 还是 View ,而不是抽象。

2)添加单例方法很简单,8行就可以写完。见下文。

protected static $_instance;
public static function getInstance()
{
if (!isset(self::$_instance)) {
self::$_instance = new self();
}
self::$_instance;
}

3) PHP 5.3 以下版本不支持后期静态绑定(bind)。这将导致实例化抽象类而不是最终类继承它,并且不会按预期运行,正如 Gordon 和 nuqqsa 已经提到的那样。因此,为了向后兼容,最好避免使用它。

关于php - 抽象类在 PHP 中扩展抽象类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2789328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com