【Laravel / PHP】
ヒアドキュメントを使用した時に「ParseError syntax error, unexpected end of file」になる時の対処方法
謎のエラーを解決する
投稿日 2022/10/10 更新日 2022/10/10

こんにちは。IT業界歴3年目の「元木皇天」です。
先日Laravelでとあるプログラムを作成し実行したら、「ParseError syntax error, unexpected end of file」というエラーが出てしまいました。
原因がよくわからず色々いじっていると、どうもヒアドキュメントを使用した箇所でエラーになっている模様...。
今回はそんなエラーを解決する方法を解説いたします。
環境
OS:Linux
Laravel:バージョン7
PHP:バージョン7
やりたいこと
「ParseError syntax error, unexpected end of file」を解決する。

参考文献
ParseError syntax error, unexpected end of fileの原因
結論から言うと、「ヒアドキュメントの終了文字列(EOF)の行に、他の文字列が入っていること」が原因でした。
そのくらい分かっていたつもりだったのですが、インデント(タブ文字や半角スペース)も入れてはいけなかったらしく、そこに気づけませんでした...。
ちなみに僕が書いたコードは以下のような内容です。

なので解決方法としては、「インデントを削除する」ことで解消されます。
以下のような感じです。

まとめ
ヒアドキュメントを使用する際は
終了文字の行には、「終了文字」と「;」しか記載してはいけない。