PHP抽象静态方法来自一个接口

时间:2013-03-31 09:07:51

标签: php interface static singleton abstract

我拥有可以扩展为创建特定应用程序的网站的“基础”。在我的核心功能中,我有一个抽象类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。

感谢您的帮助!

0 个答案:

没有答案