PHPのヒアドキュメントで定数を使う
メモ。
PHPではヒアドキュメント中、
1.変数は展開される
2.定数は展開されない
↓の例だと、定数「MY_NAME」は展開されない。
<?php
define("MY_NAME","田中角栄");
print <<< HTML_PROF
my name is {MY_NAME}.
HTML_PROF;
?>
なので、適当なクラスを作ってnewし、インスタンス変数経由でconstant関数を使う。
<?php
define("MY_NAME","田中角栄");
$def = new DefineParse();
print <<< HTML_PROF
my name is {$def->get('MY_NAME')}.
HTML_PROF;
class DefineParse {
public function get($defineKey){
return constant($defineKey);
}
}
?>




通りすがりです。
試してみたのですがParse error が発生してしまいます。
PHP4.Xだからなのでしょうかね〜
「public」がPHP5からかな?はずせばいけるかもです。
でもこの方法はdefine使いまくった
既存のソースを使いまわす際に使った苦し紛れの方法なので、
1から組むなら他の方法でやった方がいいのかな、と思います。