最近知ったPHPのちょっとしたテクニック。
ヒアドキュメントなんかに有効です。
ヒアドキュメントは変数もそのままかけるので便利なんですが
オブジェクトの変数とか、配列なんかが うまくいかなかったりします。
例
結果
aaaaiueo tetetest tetest Object id #1 -> test
でも、{}でくくると動作してくれます。
例
結果
aaaaiueo tetetest tetest a
配列だとパースエラーになる?
これ知る前は、一度代入したり 配列の場合は extract関数使ったりしていたけど
そういう無駄っぽい手間が省けるようになりました。
関数も同様に書けるといいんだけど、それはできないみたい。
かなり基本的な部分ではあるけれど、知ってると知らないでは大きな違いですなー。
ヒアドキュメントなんかに有効です。
ヒアドキュメントは変数もそのままかけるので便利なんですが
オブジェクトの変数とか、配列なんかが うまくいかなかったりします。
例
class test{
var $test;
function test(){
$this -> test = "a";
}
}
$test = new test();
print <<aaaaiueo tetetest tetest $test -> test
EOF;
結果
aaaaiueo tetetest tetest Object id #1 -> test
でも、{}でくくると動作してくれます。
例
class test{
var $test;
function test(){
$this -> test = "a";
}
}
$test = new test();
print <<aaaaiueo tetetest tetest {$test -> test}
EOF;
結果
aaaaiueo tetetest tetest a
配列だとパースエラーになる?
これ知る前は、一度代入したり 配列の場合は extract関数使ったりしていたけど
そういう無駄っぽい手間が省けるようになりました。
関数も同様に書けるといいんだけど、それはできないみたい。
かなり基本的な部分ではあるけれど、知ってると知らないでは大きな違いですなー。