我可以为类中的常量指定函数路径或更深的值吗?

时间:2016-03-17 10:54:50

标签: php class const

我在某个地方读到了这个无法完成的事情,但我想知道是否还有另一种方法可以解决这个问题。

现在我有以下内容......

define('CUSTOM_THEME_BACKEND_PATH', get_stylesheet_directory());

但我希望它能在以下类中......

const CUSTOM_THEME_BACKEND_PATH = get_stylesheet_directory();

然后我可以运行类似下面的内容......

MyConstantClass::CUSTOM_THEME_BACKEND_PATH . '/path/to/file'

无论如何,我可以为类中的常量赋予更复杂的值吗?

参考: http://php.net/manual/en/language.oop5.constants.php

我想通过类保护我的常量,但我也创建了一个有很多选项的主题,我必须对这些值进行相当多的定义。我想减少这一点,这也可以让我在将来用更少的工作改变一些事情。

我想分配类似上面的内容以及以下内容......

const Option = get_options_data('custom-theme-custom-assets', 'enable-custom-skins');

然后,如果我可以做类似以下的事情......

if (isset(MyConstantClass::Option) && MyConstantClass::Option == 'true'){}

有没有办法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用“mutable”关键字让某些类的字段可更改,并将它们设置在以下行中。

然而,这是非常不规则的,应该仔细考虑。