このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新のリビジョン 両方とも次のリビジョン | ||
apricot:usage:ja:frontend [2020/08/27 19:18] y2sunlight [レンダリング] |
apricot:usage:ja:frontend [2020/09/10 23:27] y2sunlight [Bladeの拡張] |
||
---|---|---|---|
行 17: | 行 17: | ||
* [[apricot: | * [[apricot: | ||
* [[apricot: | * [[apricot: | ||
+ | * [[apricot: | ||
* [[apricot: | * [[apricot: | ||
行 59: | 行 60: | ||
render() の第1引数にはHTMLテンプレート名、第2引数にはテンプレート変数を[変数名 ⇒ 値]の形で渡します。 | render() の第1引数にはHTMLテンプレート名、第2引数にはテンプレート変数を[変数名 ⇒ 値]の形で渡します。 | ||
- | テンプレートファイルは、''/ | + | テンプレートファイルは、''/ |
以下は、テンプレートファイル '' | 以下は、テンプレートファイル '' | ||
行 96: | 行 97: | ||
</ | </ | ||
- | render() 関数の2つの引数は View シングルトンのrun()メソッドに渡わたされ、テンプレートを介してHTMLをレンダリングし、その結果を使ってレンダーレスポンスを生成して返しています。 | + | render() 関数の2つの引数は View シングルトンのrun()メソッドに渡わたされ、テンプレートを介してHTMLをレンダリングし、その結果を使ってレンダーレスポンスを生成して返しています。ボイラープレート [[# |
\\ | \\ | ||
行 102: | 行 103: | ||
==== テンプレート変数 $errors ==== | ==== テンプレート変数 $errors ==== | ||
- | >TODO: | + | '' |
+ | |||
+ | <code php> | ||
+ | // テンプレート変数 $errors | ||
+ | [' | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | <code php> | ||
+ | @if($errors-> | ||
+ | @foreach($errors as $key=> | ||
+ | | ||
+ | @endforeach | ||
+ | @endif | ||
+ | </ | ||
\\ | \\ | ||
行 250: | 行 266: | ||
</ | </ | ||
- | HTMLをエスケープしたくない場合は以下のように、''< | + | HTMLをエスケープしたくない場合は以下のように、''< |
<code php> | <code php> | ||
行 457: | 行 473: | ||
CSRF対策用のトークンフィールドを出力するディレクティブです。セッションからCSRFトークンを取得して、hidden タイプの input 要素の中に設定しています。 | CSRF対策用のトークンフィールドを出力するディレクティブです。セッションからCSRFトークンを取得して、hidden タイプの input 要素の中に設定しています。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Bladeの拡張 ===== | ||
+ | |||
+ | Apricotで使用しているテンプレートエンジン [[BladeOne]] には、オプションの拡張ライブラリーとして '' | ||
+ | |||
+ | 例: | ||
+ | < | ||
+ | @form() | ||
+ | @input(type=" | ||
+ | @button(type=" | ||
+ | @endform() | ||
+ | </ | ||
+ | |||
+ | インストール方法や使い方は、以下を参照して下さい: | ||
+ | |||
+ | * https:// | ||
\\ | \\ | ||
行 546: | 行 580: | ||
\\ | \\ | ||
+ | ===== アセットファイルのバージョニング ===== | ||
+ | 通常のブラウザでは、静的なアセットファイル( '' | ||
+ | 簡単なキャッシュ・バスティングの方法としては、アセットファイルのURLに現在日時をクエリー文字列として付加する方法があります。 | ||
+ | |||
+ | < | ||
+ | <link href=" | ||
+ | <script src=" | ||
+ | </ | ||
+ | |||
+ | しかし、この方法では、アクセスする度にブラウザがアセットファイルを取得してしまい、ブラウザのキャッシュ機構が上手く機能しません。従って、現在日時の代わりにアプリケーションのバージョン番号を付加すれば、この問題を解決することができます。これがアセットファイルのバージョニングです。 | ||
+ | |||
+ | Apricotではバージョニング用のボイラープレート [[apricot: | ||
+ | |||
+ | < | ||
+ | <link href=" | ||
+ | <script src=" | ||
+ | </ | ||
+ | |||
+ | アプリケーションのバージョン番号は、[[apricot: | ||
+ | |||
+ | \\ | ||