У меня есть константа класса
const DATE_REGEX = '@^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$@';
который я хочу использовать в статическом массиве как часть строки:
public static $rules = [
'startdate' => ['required','regex:' . self::DATE_REGEX],
];
Обе эти строки являются частью одного класса.
На моем компьютере разработчика (PHP 5.6) это работает нормально, но на промежуточном сервере (PHP 5.4) это выдает следующую ошибку:
syntax error, unexpected '.', expecting ']'
Как я могу переписать это для совместимости с PHP 5.4?
PHP 5,4 не допускает выражения в объявлении свойств класса.
Такая функция была введена в PHP 5.6 http://php.net/migration56.new-features#migration56.new-features.const-scalar-exprs
Других решений пока нет …