2012-03-07 11 views
4

私はconstants.phpで定義されたPREFIXという定数を持っています。クラスFooでは、プレフィックスとしてPREFIXを持つ静的クラス定数を作成したいと思います。しかし、私はそのconstの定義行に構文エラーを取得します。 PHPで他の定数変数から静的クラス定数変数を作成する方法は?

require_once 'constants.php'; 

class Foo { 
    const FOO_CONST = PREFIX . 'bar'; 

    public function __construct() { 
    } 
} 
+0

できません。 'define( 'BAR_CONST'、PREFIX。 'bar');'そして次に 'const FOO_CONST = BAR_CONST;' –

+0

あなたは冗談か?グローバル変数?どこ? –

+0

'define'は基本的にグローバル変数のすべての落とし穴を持っています – JoJo

答えて

4

constは値ではなく式でなければなりません。 したがってconst FOO_CONST = 'foo' . 'bar';も機能しません。

defineを使用するか、コンストラクタでconstの代わりに初期化されるクラスメンバーを使用する必要があります。式を使ってクラスメソッドの外にあるクラスメンバを初期化することもできません。

関連する問題