内部函数的常量定义不能通过类名访问,请参阅代码

Jab*_*een 2 php oop class

这里的常量是在函数内部动态定义的,我无法使用类名访问它,我希望通过类名访问它.函数中的常量来自Db,我从db生成常量,我想用类名访问它们请告诉我如何使用"define"来使常量可用或类也可以

    class MyClass {
        public function getsettings(){
            define('myconstant','values');
        }
    }
    echo MyClass::myconstant;
    

Alm*_* Do 5

函数define()将为全局范围定义常量,无论你在哪里调用它 - 它与任何类或它的上下文无关.要定义类常量,您应该使用const关键字:

class MyClass 
{
    const myconstant = 'values';
    //..
}
Run Code Online (Sandbox Code Playgroud)

  • 因此,根据定义,这不是一个常数.常量是..well,_constant_,而不是可以是动态的并且取决于运行时条件的东西.你的案子将是阶级财产. (3认同)