PHP - Laravel - ビュー - 条件文


 クラウディア


1. 概要
2. 条件文
3. switch
4. get, post
5. 参考サイト

1. 概要

 ある条件の元に、デザインを変えたい・・・よくある場面です。  わたしは、相手がパソコンか、スマフォ、モバイルかで分けたくなることが良くあります。  「.scss」でメディアクエリを使って、画面サイズを取得してそれに合わせることもやりますが、メディアクエリは、使い勝手がちょっと面倒くさい。  別の箇所で書いてある、スマフォ判定のモジュールを使って、「PHP」で解決したい。  ただ、これ、これから述べる、条件文の構文を使用しないと

@php
if ($hogehoge->isMobile())
{
	print('スマフォのときのタグをずらずら');
}
else
{
	print('スマフォでないときのタグをずらずら');
}
@endphp
 と「print」か「echo」を使うので、なんか地のタグと混ぜるといささか見にくい。

2. 条件文

 参考サイトをまんま書きますが・・・。

@if ($value)
  // trueだった場合の表示
@elseif ($value02)
  // 違う条件の場合で true だった場合の表示
@else
  // 当てはまらなかった場合の表示
@endif
 否定形のみの場合

@unless ($value)
  // $value がfalseの場合の表示
@endunless
 他にも、参考ページには、「isset」「empty」「for」等が書いてあって・・・。  うむ、うむわかりやすい。  機会があれば、また、丸写しさせていただきます。

3. switch

 「switch」も使えるようです。

@switch(true)
@case(条件1)
	// 条件1成立時の処理
	@break

@case(条件2)
	// 条件2成立時の処理
	@break
@endswitch
 てな感じ。  この場合、「switch」の中が、変数でなく、「case」の中が、真偽値になっておりますが、普通に、変数値の分岐も使えるんかな?

4. get, post

 メソッドが、「GET」か、「POST」かで、「@include」でインクルードする中身を変えたかったときは。

@if (request()->isMethod('get'))
@include('partials.get_view')
@else
@include('partials.post_view')
@endif
 で、うまくいきました。  このときは、「GET」か「POST」しかなかったので、「if」「else」で問題ありませんでした。

5. 参考サイト

 本ページは、下記のサイトおよび「ChatGPT」くんを参考にさせていただきました。
[PHP] Laravel で条件分岐、ループの制御構文をテンプレートファイルで使用する時の使い方メモ

AbemaTV 無料体験