5

このエラーが発生します:

解析エラー:構文エラー、予期しない'。'、予期する'、'、または';' 5行目の/var/(...)/config.phpにあります

この(簡略化された)コードを使用すると:

<?php

class Config
{
   public static $somevar = "Date: " . date('Y');
}

?>

これは有効なphpだと思いましたが、そうではないと思います...ここで何が間違っているのでしょうか。ありがとう!

4

3 に答える 3

5

PHPのドキュメントによると:

他のPHP静的変数と同様に、静的プロパティはリテラルまたは定数を使用してのみ初期化できます。式は許可されていません。したがって、静的プロパティを整数または配列(たとえば)に初期化することはできますが、別の変数、関数の戻り値、またはオブジェクトに初期化することはできません。

書いてみてください

Config::$somevar = "Date: " . date('Y');

クラス定義の後。

于 2010-11-24T13:05:24.287 に答える
2

プロパティの初期化は解析時に評価されるため、操作や関数でプロパティの初期化を行うことはできません。

于 2010-11-24T13:04:51.630 に答える
1

マニュアルから

他のPHP静的変数と同様に、静的プロパティはリテラルまたは定数を使用してのみ初期化できます。式は許可されていません。したがって、静的プロパティを整数または配列(たとえば)に初期化することはできますが、別の変数、関数の戻り値、またはオブジェクトに初期化することはできません。

于 2010-11-24T13:04:16.720 に答える