К сожалению, вы не можете устанавливать переменные класса по умолчанию, используя выражения. Вы можете использовать только примитивные типы и значения. Только array()
распознается.
Что вы можете сделать, это создать функцию «Статический инициализатор», которая может быть вызвана только один раз и установит ваши переменные ... Таким образом:
<?php
class Test
{
public static $blah;
private static $__initialized = false;
public static function __initStatic() {
if(self::$__initialized) return;
self::$blah = (1 == 1) ? 'this' : 'or this';
self::$__initialized = true;
}
}
Test::__initStatic();
А затем просто извлеките вашу переменную из другого файла:
<?php
echo Test::$blah;
Если вы позже отредактируете Test::$blah
в коде, он не будет возвращен при случайном вызове Test::__initStatic()
.