2

我拥有可以扩展以创建特定应用程序的网站的“基础”。在我的核心功能中,我有一个必须是单例的抽象类 C_Controller。为了使用核心功能创建特定的应用程序,开发人员必须扩展这个 C_Controller 类。这个类(我们将其命名为 C_Application)也必须是一个单例。为了强制开发人员实现自己的 getInstance 方法,我做了以下工作:

interface I_Singleton
{
    public static function getInstance();
}

abstract class C_Controller implements I_Singleton
{
    public abstract static function getInstance();
}

然后开发人员必须在他的子类中实现该功能:

class C_Application extends C_Controller
{
    public static function getInstance() { ... }
}

我已经为我的观点这样做了,但它是一个非静态方法(__toString)。我读过自 PHP 5.2 以来不可能有抽象的静态方法,那么有没有一种干净的方法来做到这一点?

我仅限于 PHP 5.2。由于我正在使用免费的网络托管服务。

谢谢你的帮助!

4

0 回答 0