在C#中,您可以拥有这样的嵌套类,如果您的类没有某个特定类的范围,那么这些类很有用,例如:在工厂模式中:
public abstract class BankAccount
{
private BankAccount() {}
private sealed class SavingsAccount : BankAccount { ... }
private sealed class CheckingAccount : BankAccount { ... }
public BankAccount MakeSavingAccount() { ... }
public BankAccount MakeCheckingAccount() { ... }
}
这可以在PHP中使用吗?
我读过它计划用于PHP 5,然后取消,然后重新计划,但无法找到明确的信息。
是否有人知道如何使用PHP 5.3创建嵌套类(另一个类范围内的类),如上面的C#示例所示?
答案 0 :(得分:1)
不,这在PHP中是不可能的。类必须位于全局命名空间中;你能做的最好就是假装你的所有其他代码都不存在。
这种事在PHP中很常见;例如,PHP缺少静态初始化器,因此如果您想急切初始化类的静态成员,则必须通过从类外部调用公共方法来完成。难看。