PHPのヒアドキュメントで気をつけたい点
FuelPHPを使ってコンタクトフォームを作成していました。PHPのヒアドキュメントでつまったのでメモ用で残しておきます。
$data['body'] = <<<EOF ------------------------------------------------ 名前:{$post['name']} メールアドレス:{$post['email']} IPアドレス:$ip ブラウザ:$agent ------------------------------------------------ コメント: {$post['comment']} ------------------------------------------------ EOF;
特に間違っていないと思っていたらなぜかシンタックスエラーになりました。なんでだろうと思い調べていたらどうも書き方に問題がありました。
ドキュメントの区切り文字の前にスペースやタブが入っているとエラーになる
PHPのヒアドキュメントはどうやらスペースやタブが入っているとどうやらエラーになるらしいです。そこでこうすることでエラー回避できます。
$data['body'] = <<<EOF ------------------------------------------------ 名前:{$post['name']} メールアドレス:{$post['email']} IPアドレス:$ip ブラウザ:$agent ------------------------------------------------ コメント: {$post['comment']} ------------------------------------------------ EOF;
これでおkみたいです。