【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の画像

参考文献

PHP ドキュメント - ヒアドキュメント構文
独習PHP 第4版

ParseError syntax error, unexpected end of fileの原因

結論から言うと、「ヒアドキュメントの終了文字列(EOF)の行に、他の文字列が入っていること」が原因でした。

そのくらい分かっていたつもりだったのですが、インデント(タブ文字や半角スペース)も入れてはいけなかったらしく、そこに気づけませんでした...。

ちなみに僕が書いたコードは以下のような内容です。

ParseError syntax error, unexpected end of fileになってしまう画像 EOFにインデントが入っている

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

以下のような感じです。

ParseError syntax error, unexpected end of fileにならない画像 EOFにインデントが入っていない

まとめ

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

参考文献・おすすめ文献

PHP ドキュメント - ヒアドキュメント構文