0

私はクラス定数を持っています

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 と互換性があるように書き直すにはどうすればよいですか?

4

1 に答える 1

4

PHP 5.4 では、クラス プロパティの宣言で式を使用できません。

このような機能は、PHP 5.6 http://php.net/migration56.new-features#migration56.new-features.const-scalar-exprsで導入されました。

于 2014-10-27T11:27:30.183 に答える