- 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 で条件分岐、ループの制御構文をテンプレートファイルで使用する時の使い方メモ」
|