Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:usage:ja:frontend

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:usage:ja:frontend [2020/09/10 19:21]
y2sunlight [マスターレイアウト]
apricot:usage:ja:frontend [2020/09/10 23:27] (現在)
y2sunlight [Bladeの拡張]
行 473: 行 473:
  
 CSRF対策用のトークンフィールドを出力するディレクティブです。セッションからCSRFトークンを取得して、hidden タイプの input 要素の中に設定しています。 CSRF対策用のトークンフィールドを出力するディレクティブです。セッションからCSRFトークンを取得して、hidden タイプの input 要素の中に設定しています。
 +
 +\\
 +
 +===== Bladeの拡張 =====
 +
 +Apricotで使用しているテンプレートエンジン [[https://github.com/EFTEC/BladeOne|BladeOne]] には、オプションの拡張ライブラリーとして ''BladeOneHtml'' があります。このライブラリーを使用すると、HTMLフォームが簡単に綺麗に作成できます。
 +
 +例:
 +<code>
 +@form()
 +    @input(type="text" name="myform" value=$myvalue)
 +    @button(type="submit" value="Send")
 +@endform()
 +</code>
 +
 +インストール方法や使い方は、以下を参照して下さい:
 +
 +  * https://github.com/eftec/BladeOneHtml
  
 \\ \\
行 562: 行 580:
 \\ \\
  
 +===== アセットファイルのバージョニング =====
  
 +通常のブラウザでは、静的なアセットファイル( ''.js'' , ''.css'' または画像ファイル)がキャッシュされる場合があります。これは、アプリケーションのアセットファイルを変更した場合に問題が発生するかもしれません。これを防ぐ手段をキャッシュ・バスティング( ''Cache Busting'' )と呼びます。
  
 +簡単なキャッシュ・バスティングの方法としては、アセットファイルのURLに現在日時をクエリー文字列として付加する方法があります。
 +
 +<code>
 +<link href="{{url('css/main.css').'?'.time()}}" rel="stylesheet">
 +<script src="{{url('js/main.js').'?'.time()}}"></script>
 +</code>
 +
 +しかし、この方法では、アクセスする度にブラウザがアセットファイルを取得してしまい、ブラウザのキャッシュ機構が上手く機能しません。従って、現在日時の代わりにアプリケーションのバージョン番号を付加すれば、この問題を解決することができます。これがアセットファイルのバージョニングです。
 +
 +Apricotではバージョニング用のボイラープレート [[apricot:usage:ja:utility#urlとパス|url_ver()]] 関数が用意さており、上のコードを以下のように変更することで、アセットファイルのバージョニングができます。
 +
 +<code>
 +<link href="{{url_ver('css/main.css')}}" rel="stylesheet">
 +<script src="{{url_ver('js/main.js')}}"></script>
 +</code>
 +
 +アプリケーションのバージョン番号は、[[apricot:usage:ja:config#環境設定|環境変数]] ''APP_VERSION'' から取得します。従って、アセットファイルのバージョニングを使用している場合は、アセットファイルを変更したら必ず ''APP_VERSION'' も変更する必要があります。
 +
 +\\
  
  
apricot/usage/ja/frontend.1599733264.txt.gz · 最終更新: 2020/09/10 19:21 by y2sunlight