@IFディレクティブは、テンプレート内のコンテンツが条件に基づいて表示されるかどうかを判断するために使用されます。これは、柔軟な動的ページを構築するのに非常に実用的です。
@if($user->isAdmin)
This user is an admin.
@endif
上記の例では、$ユーザーオブジェクトのISADMINプロパティがtrueの場合、テンプレートに「このユーザーは管理者です」を表示します。それ以外の場合、この段落は表示されません。
@Foreachディレクティブを使用すると、テンプレート内の配列またはコレクションを反復することができ、各要素が動作してレンダリングするのに便利です。
@foreach($users as $user)
{{ $user->name }}
@endforeach
この例では、$ユーザーは複数のユーザーオブジェクトのコレクションです。ループを介して、各ユーザーの名前を1つずつアクセスして出力します。
@includeディレクティブは、モジュール化とコードの再利用を実現するために、他のテンプレートファイルを現在のテンプレートに導入するために使用されます。
@include('partials.header')
ここでは、partials.headerという名前のテンプレートフラグメントが@includeを介して導入されます。これにより、ページヘッダーコンテンツの再利用とコードをきれいに保つことが容易になります。
@yieldは、プレースホルダーを定義し、親テンプレートに位置を設定するために使用され、子テンプレートはテンプレートコンテンツの拡張を実現するためにコンテンツを埋めることができます。
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
</head>
<body>
@yield('content')
</body>
</html>
この例では、2つのプレースホルダーが定義されています。子テンプレートが親テンプレートを継承した後、2つの領域のタイトルと「コンテンツ」の特定のコンテンツを埋めます。
@ExtEndsディレクティブは、現在のテンプレートが継承する親テンプレートを指定するために使用されます。 @sectionと@endsectionと併せて、親テンプレートを埋める子テンプレートのコンテンツ領域を定義できます。
@extends('layouts.app')
<p>@section('content')<br>
<p>This is the content of the page.</p><br>
@endsection<br>
この例では、チャイルドテンプレートはレイアウトを継承します。アプリの親テンプレートを継承し、ページ構造の再利用と拡張を実現するために、特定のコンテンツをコンテンツ領域に記入します。
要約すると、これらの5つのブレード命令は、Laravelテンプレート開発の柔軟性と効率を大幅に改善します。それらの習熟度は、開発者がコードの整理を改善し、テンプレート構造を最適化し、Laravelアプリケーションをより明確かつ容易に構築するのに役立ちます。