PHPのヒアドキュメントで気をつけたい点

FuelPHPを使ってコンタクトフォームを作成していました。PHPのヒアドキュメントでつまったのでメモ用で残しておきます。

[php]
$data['body'] = <<<EOF

------------------------------------------------
名前:{$post['name']}
メールアドレス:{$post['email']}
IPアドレス:$ip
ブラウザ:$agent
------------------------------------------------
コメント:
{$post['comment']}
------------------------------------------------
EOF;

[/php]

特に間違っていないと思っていたらなぜかシンタックスエラーになりました。なんでだろうと思い調べていたらどうも書き方に問題がありました。

ドキュメントの区切り文字の前にスペースやタブが入っているとエラーになる

PHPのヒアドキュメントはどうやらスペースやタブが入っているとどうやらエラーになるらしいです。そこでこうすることでエラー回避できます。

[php]
$data['body'] = <<<EOF

------------------------------------------------
名前:{$post['name']}
メールアドレス:{$post['email']}
IPアドレス:$ip
ブラウザ:$agent
------------------------------------------------
コメント:
{$post['comment']}
------------------------------------------------
EOF;
[/php]

これでおkみたいです。

この記事に関する技術サポート・ご相談

「手順通りにいかない」「自社環境への構築を代行してほしい」など、
インフラ・サーバー周りでハマった際はお気軽にご相談ください。

相談・問い合わせフォームを開く

※ Googleフォームへ移動します(初回相談無料)

個人支援・寄付について

サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS