2011-08-22 29 views

答えて

8

これは、クラス定数の考え方に反します。クラス定数は、特定のインスタンスに依存してはいけません。代わりに変数を使用する必要があります。

しかし、あなたがこれを主張し、非常に冒険的でPHP拡張機能をインストールできる場合は、実行時にクラスとその定数を変更することができるrunkit拡張を見ることができます。このドキュメントを参照してください:http://www.php.net/manual/en/function.runkit-constant-add.php

+0

私はコンストラクタで設定できるjavaの 'static final'のphpに相当するものを探していましたが、残念ながらphpの定数では少し違います。 –

+0

これは一般的な定数の考え方にも反しますが、PHPでは動的に定数を定義できます。 –

+0

これは、値が他の定数の値で構成されている文字列定数を定義する場合(共通部分をDRYするため)に役立ちます。 PHPでは式(2つの文字列の連結など)を定数値で許可しないため、コンストラクタでこれを行うと便利でした。 –

3

私はできないと思います。

これは意味がありません。クラス定数は、最初はコンストラクタがない静的コンテキストで使用できます。

代わりに変数を使用する必要があります。これはそのためのものです。

関連する問題