статические члены — константа класса не принята php 5.4

У меня есть константа класса

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?

0

Решение

PHP 5,4 не допускает выражения в объявлении свойств класса.

Такая функция была введена в PHP 5.6 http://php.net/migration56.new-features#migration56.new-features.const-scalar-exprs

4

Другие решения

Других решений пока нет …