現在の位置: ホーム> 最新記事一覧> Laravelの@IFステートメントで現在のURLを取得して判断する方法の実用ガイド

Laravelの@IFステートメントで現在のURLを取得して判断する方法の実用ガイド

gitbox 2025-06-11

導入

Laravelは、MVCデザインパターンを使用する無料でオープンソースのPHP Webフレームワークです。エレガントな構文と簡潔で使いやすい機能のため、多くの開発者に愛されています。 Laravelは、コントローラーを介してアプリケーションロジックを処理し、それをビューと組み合わせて最終的なHTML応答を生成し、ユーザーにインタラクティブページを表示します。実際の開発では、現在アクセスされているURLに基​​づいてビューに表示されるコンテンツを決定する必要があることがよくあり、これは@IFなどの条件付き判断ステートメントとは切り離せません。

現在のURLを取得します

PHPでは、現在の要求のURLは、組み込み$ _Server変数を介して取得できます。サンプルコードは次のとおりです。

 $url = $_SERVER['REQUEST_URI'];

この変数には、現在の要求のパスやクエリ文字列などの情報が含まれています。 URLにはエンコードされた文字(スペースの%20など)が含まれている可能性があるため、 rawurldecode関数を使用してデコードできます。

 $url = rawurldecode($url);

Laravelの@IFステートメント

@IFは、Laravel Viewで一般的に使用される条件制御ステートメントです。条件付き式の信頼性に基づいて、特定のコードをレンダリングするかどうかを決定します。例えば:

 @if ($temperature <= 0)
  The temperature is below freezing. Please stay inside.
@endif

上記のコードには、変数$温度が0以下の場合、温度が低すぎるという迅速なメッセージが表示されます。

@IFステートメントで現在のURLを取得します

ビューのPHPブロックに現在のURLを直接取得し、@IFと組み合わせて使用​​できます。

 @php
  $url = rawurldecode($_SERVER['REQUEST_URI']);
@endphp

このようにして、変数$ URLは現在のページの完全な要求パスを保存し、条件付き判断として使用できます。

次の例は、URLに基​​づいてコンテンツ間の違いを伝える方法を示しています。

 @php
  $url = rawurldecode($_SERVER['REQUEST_URI']);
@endphp
<p>@if (strpos($url, '/blog/') === 0)<br>
Blog posts<br>
@else<br>
Home page<br>
@endif<br>

ここでは、 STRPOSを使用して、現在のURLが「/blog/」で始まるかどうかを判断します。はいの場合、ブログ投稿のリストが表示されます。それ以外の場合、ホームページのコンテンツが表示されます。

要約します

Laravelでは、現在のURLは$ _Server ['request_uri']を介して取得され、@IF条件ステートメントと組み合わされて、表示ディスプレイコンテンツを柔軟に制御できます。この手法をマスターすると、ユーザーのアクセスパスに応じて異なるページを動的にレンダリングし、ユーザーエクスペリエンスを向上させるのに役立ちます。