Я где-то читал, что это невозможно, но мне интересно, есть ли еще один способ сделать это.
Прямо сейчас у меня есть следующее …
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'){}
Есть ли способ, которым я могу сделать это?
Вы можете использовать ключевое слово «mutable», чтобы изменить некоторые поля класса, и установить их в следующих строках.
Тем не менее, это очень нерегулярно и должно рассматриваться тщательно.
Других решений пока нет …