向另一个类添加常量


Adding Constants to another class?

我是新来的。我想问一个问题:如何将常量添加到另一个类中?这是我的类它包含了常量:

class MyClass1 {
    const CONSTANT_FOO;
}

这个类将为MyClass1类添加一个新的常量:

class MyClass2 {
    //what would I put here?
}

如何添加一个常量到另一个类?

简短的回答是:你不能在另一个类中添加常量。

然而,正如它们的名字所示,常量只是在程序执行期间不会改变的值的名称。这可能就是为什么它们都是公开的,它们的可见性不能被限制的原因。

它们都是公共的,使用define()创建的全局常量和类常量的唯一区别是创建和访问时的语法。

对你的问题的完整答案是:你不能在运行时(从另一个类的代码甚至从类本身的代码)向类添加常量,但你也不需要它。把define()作为常量或者在另一个类中声明为const就足够了。

向类中添加常量的唯一方法是修改类的定义(当然是使用编辑器)。

常量是不应该在运行时修改的东西。顾名思义,这意味着是一个CONSTANT。您可以使用类变量实现相同的目的。

  1. 在MyClass1中声明一个类变量
  2. 在MyClass2中实例化MyClass1
  3. 将所需值设置为所创建对象中的变量。
  4. 你可以进一步使用这个对象,它实际上有你分配的值。

为了使它更好,您可以在MyClass1中使用setter和getter方法,或者在PHP中使用魔法方法。