先日詰んだので備忘録としてメモしておきます。
検証環境
- Laravel Framework 8.83.8
分岐不可能な書き方
@ifディレクティブ
の設定にも関わらず、両方のテンプレートが継承されてしまいます。
@if(isset($param))
@extends('auth/param_template')
@else
@extends('auth/no_param_template')
@endif
分岐可能な書き方
@extendsディレクティブ
の中に三項演算子を設定すると、継承の分岐が可能です。
@extends(isset($param) ? 'auth/param_template' : 'auth/no_param_template')
感想
上記の実装自体、1つのテンプレートの中で2つのテンプレートの継承が行われているため違和感があります。
コントローラやルーティングでviewを分岐した方が素直な書き方かと思います。
参考記事