私はこの1つに私の髪を引っ張っています。 PHPでかなり新しいですが、これは基本的なものなので、どこに問題があるのか分かりません。一例として、以下のコードを使用する:PHPクラスで "const"と "define"を使用できません
class LG_Activity_Processor {
// Activity Types
const STATUS_DRAFT = 'draft';
const STATUS_PUBLISH = 'publish';
...
private $STATUS_FUTURE = 'future';
define ("STATUS_PRIVATE" , 'private');
私はもともとただ、「変数が完全に定義されているような時間を実行する前に構築し、私はちょうど構文はその醜いよりもきれいだと思う「CONST」を使用することを意図していました定義する "。
PHPのお知らせ::私は、次のエラーメッセージを取得クラスの後の定数を参照するたびのconstの定義は、エラーを与えない一方で問題がある未定義の定数STATUS_PUBLISHの使用を - 「STATUS_PUBLISH仮定します'
Huh?ただ、明確にするために、ここで私は "CONST" を参照するために使用する構文です:私も試した
$core_fields ['post_status'] = STATUS_PUBLISH;
:
$core_fields ['post_status'] = $this->STATUS_PUBLISH;
ない愛を。私は絶望の状態に入り、ついには「定義」を試みました。同じ呼び出し構文ですが、上記の "STATUS_PRIVATE"のように定義構文を変更しました。このように見える定義行に致命的なエラーが発生したため、これは非常に価値がありました。
PHP Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION
私はあきらめました。私は最終的にちょうど(STATUS_FUTUREの例のように)プライベート変数として変数を定義し、次にとして呼ば:
$core_fields ['post_status'] = $this->STATUS_PUBLISH;
あなたはそれが私は助けることができないことを期待したいだけのように動作しますが、
感私はそれを正しい方法でやっていることを知らされました。私のコードをもう一度作る方法に関するアイデア?
クラスで)(定義を使用しないでください - 'const'は何が必要です。クラスの外で 'ClassName :: CONST_NAME'を使用し、同じクラスで' self :: CONST_NAME'を使用してください。 – halfer