1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Laravel】Bladeの@ifで@extendsを分岐したい時は@extendsの中に三項演算子を書く

Last updated at Posted at 2022-12-07

先日詰んだので備忘録としてメモしておきます。

検証環境

  • 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を分岐した方が素直な書き方かと思います。

参考記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?