コネクト株式会社 技術情報コンテンツ | ||
[[PHPアプリケーション/Smarty]] Smartyを知ろうSmartyを使う前に今までテンプレートエンジンを使った事がない方は、HTMLの一部分にPHPスクリプトを記述したり、if文やecho関数でHTMLの内容を強引に切り替えるなどしていただろう。 その結果、ちょっとした仕様変更についていく事が出来なくなり、バグが発生したり、「仕様上の都合により、デザイン変更は不可能です」と断る事も少なくなかったはずである。 Webアプリケーションの要点を一言で表すとすれば、「IN(Webブラウザから受け取った情報)に対して、OUT(Webブラウザへのレスポンス)を用意する」だけの事である。 このOUTの最終工程で、定型フォーマットの一部を動的に差し替える処理に、テンプレートエンジンが用いられる。 Smartyを使ったアプリケーションを作成するには、次のような工程が必要である。
この工程を経て、ようやくSmartyを使ったプログラミングに取りかかる事が可能になる。 変数の割り付けテンプレートに情報を埋め込むには、変数をテンプレートに割り付ける必要がある。 Smartyには、assign関数が用意されている。 この関数は、これから表示しようとしているテンプレートで使用できる変数を割り付けるものである。
<?php 上記例では、nameという名前で$foo_nameの値を、ageという名前で$foo_ageの値を割り付けている。 この手続きを、必要な情報だけ行えばよい。 しかし、1つ1つの変数を割り付けていくと、 だが安心して欲しい。 Smartyでは、1次元の配列変数や、多次元の配列変数を割り付けて、テンプレートの中から多次元配列へのアクセスを行う事が可能になっている。
<?php 上記のように、DBMSから取得した2行以上のレコードなどは、配列変数のまま割り付けてしまえばよい。 割り付けた情報をテンプレート内で使う前項で割り付けた情報をテンプレートに埋め込んでみよう。
<html> 上記例では、nameとageの値をテンプレートで参照してみたものである。 my name is Terry. 33 years old. |