Blade テンプレート
はじめに
Bladeは、Laravelに含まれるシンプルでありながら強力なテンプレートエンジンです。一部のPHPテンプレートエンジンとは異なり、Bladeではテンプレート内でプレーンなPHPコードを使用する制限がありません。実際、すべてのBladeテンプレートはプレーンなPHPコードにコンパイルされ、変更されるまでキャッシュされます。つまり、Bladeはアプリケーションにほとんどオーバーヘッドを追加しません。Bladeテンプレートファイルは.blade.php
拡張子を使用し、通常はresources/views
ディレク トリに保存されます。
Bladeビューは、グローバルなview
ヘルパーを使用して、ルートまたはコントローラから返すことができます。もちろん、ビューのドキュメントで説明されているように、データはview
ヘルパーの第2引数を使用してBladeビューに渡すことができます。
Route::get('/', function () {
return view('greeting', ['name' => 'Finn']);
});
Laravel LivewireでBladeを強化する
Bladeテンプレートを次のレベルに引き上げて、簡単に動的 なインターフェースを構築したいですか?Laravel Livewireをチェックしてみてください。Livewireを使用すると、通常はReactやVueなどのフロントエンドフレームワークでのみ可能な動的機能が追加されたBladeコンポーネントを記述できます。これにより、多くのJavaScriptフレームワークの複雑さ、クライアントサイドのレンダリング、ビルドステップなしで、モダンで反応性のあるフロントエンドを構築するための素晴らしいアプローチが提供されます。
データの表示
Bladeビューに渡されたデータを表示するには、変数を中括弧で囲みます。たとえば、次のルートがあるとします:
Route::get('/', function () {
return view('welcome', ['name' => 'Samantha']);
});
name
変数の内容を次のように表示できます:
Hello, {{ $name }}.
Bladeの{{ }}
エコーステートメントは、XSS攻撃を防ぐために自動的にPHPのhtmlspecialchars
関数を通過します。
ビューに渡された変数の内容を表示することに制限されることはありません。PHP関数の結果をエコーすることもできます。実際、Bladeエコーステートメント内には任意のPHPコードを配置できます。
The current UNIX timestamp is {{ time() }}.