2011-12-19 16 views
1

インスタンス化されたクラスからclass-constを呼び出しますか?これは動作しませんなぜ私は思ったんだけど

$oClass = get_called_class(); 
$sConstValue = $oClass::sConstName; 

例えば$ oClassはクラスUserのインスタンスであり、sConstNameは値を保持します。 PHPのネイティブエラーが発生しましたParse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in...

このコードは別のマシンで動作します。違いは、PHPのバージョンです。私のマシンは5.2.17を実行していて、もう1台のマシンは5.3.6を実行しています。

PHPバージョンのため、エラーはありますか?もしそうなら、私のPHPバージョンの回避策はありますか? Atm私はバージョンを更新することはできませんが、私はこれを動作させる必要があります。これは、データベーステーブルからモデルを動的に生成するための助けとなるコードです。

+0

WTF Paamayim Nekudotayimを、それがヘブライ語である: –

+0

@Truth○:Zendののオリジナル開発者はisrealを両方からでしたそれは彼らの「イースターエッグ」の一種です。 –

答えて

3

これはstated in the documentationとして、プリPHP 5.3サポートされていなかった。

PHP 5.3.0のように、変数を使用してクラスを参照することが可能です。 PHPのバージョンの周り

仕事がconstant()機能を使用することです:

constant($oClass . '::sConstName'); 
+0

あなたは私にそれを殴った、私はあなたが提供したドキュメントと同じ参照で返信していた。私はあなたの提案を試してみます。 – Ben

関連する問題