从PHP中的抽象类继承的静态类

时间:2011-10-11 09:21:11

标签: php inheritance static factory abstract

我偶然发现了一个我最终解决的有趣问题/错误,但解决方案并非我所期望或希望的解决方案。

设置很简单。有一个抽象的静态类工厂,它引用了一个单例(注册表)以及两个静态属性,模型

有许多静态类构建于/继承此抽象类,它们都有 init()方法,在这种方法中,它们设置模型属性。当然,由于模型是静态的,它们只能有一个值对于抽象工厂类的所有子类都是相同的。这是问题/错误。

但是,我的目标是让每个子课都有自己的模型,所以我被迫宣布模型 table 作为静态属性。这看起来有点麻烦(而且不是很干),但在我看来,如果我想让(1)从抽象工厂类继承的类和(2),这是唯一的解决方案。保持不变。

我的假设是正确的还是我缺少另一种方法?

1 个答案:

答案 0 :(得分:1)

目标是在不同的静态子类中为$model$table设置不同的值?

假设是这种情况,我没有看到如果没有在每个子类中明确地定义它们,你怎么可能实现这一点。

我认为这不麻烦。我认为这是一种很好的做法 - 通过保持它所属的功能。