PHP 8.3.7
Laravel 11.6.0
問題
どこにも@endif
が欠けていないのにsyntax error, unexpected token "endif", expecting end of file
というエラーが出る。
<x-profile :sharedData="$sharedData" doctitle="{{$sharedData["username"]}}'s Profile">
<div class="list-group">
@foreach($posts as $post)
<a href="/post/{{$post->id}}" class="list-group-item list-group-item-action">
<img class="avatar-tiny" src="{{$post->user->avatar}}" />
<strong>{{$post->title}}</strong> on {{$post->created_at->format("Y/n/j")}}
</a>
- @endforeach
</div>
</x-profile>
試み
- GPTで全てのファイルを参照し
@endif
が欠けていないか確認 - 念の為目視でも確認
- 誤字脱字確認
- Laravelキャッシュクリア、Laravelの再起動
-
@isset
、@foreach
なども欠けていないか確認 - こちらの記事に書いてあったような構文チェック
多分…
ページタイトルを自動で変えるようにissetを使っていたところ、個々のポストでは正常に動作したのだがプロフィールページを構ったらこのエラーが出てしまった。
なのでおそらくprofile.blade.php
もしくはprofile-post.blade.php
に問題があるんだと思う。
もっと頭を柔らかく考えれば切り分けができて特定もできるんだろうが、今は難しい…。
ブログ
コードブロックの強調したい箇所やエラー箇所などに帯をつけるやつ、やってみたかったからできて嬉しい。
解決(2024/07/05)
シングルクォーテーションとダブルクォーテーションのミスだった。
<x-profile :sharedData="$sharedData" doctitle="{{$sharedData['username']}}'s Profile">
元は"username"
(ダブル)としていたが、教材と見比べて'username'
(シングル)にしたらエラー解消された。
なおそこ以外のクォーテーションは構っていない。