システム部の松田です。
サイトのお問い合わせや応募の入力フォームの実装・テストを担当することが多いのですが、その際によく利用するPHPのテンプレートエンジン「Smarty」について、まだまだ断片的な知識の整理を兼ねて、今回紹介したいと思います。
投稿は、前後編と2度に分ける予定で、
- 前篇:PHP実装の問題点、それを補うSmartyのメリットなど概要
- 後編:Smartyの使い方、ハマりやすいポイントなどの具体的な内容
のような構成でお伝えしたいと思います。
システム部の松田です。
サイトのお問い合わせや応募の入力フォームの実装・テストを担当することが多いのですが、その際によく利用するPHPのテンプレートエンジン「Smarty」について、まだまだ断片的な知識の整理を兼ねて、今回紹介したいと思います。
投稿は、前後編と2度に分ける予定で、
のような構成でお伝えしたいと思います。
HTMLの更新完了! お客様、ご確認ください、というシーンで
お客様「変わってないようだけど?」
ブラウザに残ったキャッシュの可能性がありますのでキャッシュの削除を・・
削除方法は・・ブラウザは何をお使いでしょう?というようなやりとりがまれにあるかと思います
見る側のパソコンのブラウザに残っていた古いデータ(キャッシュ)が
更新後の初回アクセス時に使われてしまい、
ページが予期せぬ表示になってしまうあの現象です。
つまり見る側のパソコンのブラウザに
「このCSS、今回は新しく読み込んでくださいね」と、どう教えるかですが、
てっとりばやく簡単な方法として
例えば、今までこう書いて読み込んでいたCSSだとしたら、
キャッシュ更新したい時はこう変えます
その読み込むCSSのパスの最後に「?」をつけまして、
でたらめな文字をクエリとして渡すと、
ブラウザ「このCSSは、今までと違うこの値によって、違うデータに変化するかもしれない」
と認識して新しく読み込んでくれます。
上記の例の「default.css?20150802」は年月日ですが、
「?」の後は、URLとして意味を持たない文字列なら何でもいいです。
レイアウトを大きく変えるときなどちょっと加えておくと、
大きなタイムロスと信頼感へのダメージを未然に防げますので、
おまじないのように入れておくといいと思います!