【发布时间】:2015-10-09 18:35:55
【问题描述】:
我在这里有点迷茫,因为我想做一些在 Java 中非常简单但在 PHP 中似乎有点复杂的事情。
我们正在为我们的产品构建一个 SDK,在 Java 中,我们有一个不能(!)由用户(即编码器)实例化的类,因为它的完整性存在一些限制。因此,我们将其构建为“XFactory”内的嵌套类“X”,您将通过调用 XFactory.buildMeMyX(); 获得 X 的实例; - 简单...
现在 PHP 根本不支持嵌套类,我想知道如何在这里应用。在 Java 中,X 的构造函数是隐藏的(私有的),所以只有 XFactory 可以调用它。
在 PHP 中,看起来我必须公开 __construct() 并将嵌套类 X 移出 XFactory。因此,用户将能够在没有工厂的情况下创建实例。
现在 - 我可以将工厂功能移动到 X 本身并将所有东西移动到那里,但这会破坏 SDK 的设计。毕竟有没有一种有用的方法可以在 PHP 中做这些事情?
【问题讨论】:
标签: php design-patterns