假设我想限制对公共类的构造函数的访问,以便只有某些类可以创建它的实例,但所有类都可以使用该实例。
在 Java 中,我知道有两种存档方法:
- 用构造函数创建一个
public static
内部类private
并在外部类中实例化它。 - 使类构造函数包私有(限制对同一包中所有类的访问)。
然而,在 PHP 中,没有内部类,并且命名空间(靠近包)没有自己的访问修饰符(ergo no package-private)。
那么,如何保护对类构造函数的访问呢?
假设我想限制对公共类的构造函数的访问,以便只有某些类可以创建它的实例,但所有类都可以使用该实例。
在 Java 中,我知道有两种存档方法:
public static
内部类private
并在外部类中实例化它。然而,在 PHP 中,没有内部类,并且命名空间(靠近包)没有自己的访问修饰符(ergo no package-private)。
那么,如何保护对类构造函数的访问呢?