/bonvhp/webapp2/Smarty       [後へ]   [目次へ]   [次へ] ~ [] ~

Smarty:基本的な使い方

Smarty クラス

先の sample.php を見ながら読んでください。

Smarty は、
\vendor\smarty 以下にある Smartyライブラリを使って、
機能を実現します。

ライブラリの読み込み

require __DIR__ . '/vendor/autoload.php'; use Smarty\Smarty;
で Smarty クラスを読み込みます。

クラスの初期化

Smarty を継承した MySmarty を作成し、自WEBアプリ用の設定を行います。
class MySmarty extends Smarty{ public function __construct() { $this->setTemplateDir('./templates/'); $this->setCompileDir('./templates_c/'); parent::__construct(); } }
上記では、 コンストラクタで最低限の設定を行っています。 ・setTemplateDir: tpl ファイルを置くフォルダ ・setCompileDir: Smarty が変換した後のファイルを置くフォルダ で、Smarty 親クラスのコンストラクタを呼んでおきます。

インスタンスの生成

$o_Smarty = new Smarty();
で、Smarty のインスタンス $o_Smarty を生成します。 以降、$o_Smarty を使って、具体的な設定を行います。

assign

テンプレート・ファイルに、PHP の情報を伝えます。
$o_Smarty->assign(変数名, 値);
の形式です。 assign で、 PHP で作成した情報(='値') を '変数名' に格納します。 こうして渡された変数は、 テンプレート・ファイル内で、 {$変数名} で参照します。 sample.php では、 $title = "List title:"; $o_Smarty->assign("title", $title); sample.tpl では、 {$title} となります。 変数には、配列を渡す事もできます。 設定方法は、上記と同じです。

display

テンプレート・ファイルを変換して、目的の PHP ファイルを生成します。

$o_Smarty->display(テンプレート・ファイル名);
の形式です。 デフォルトの設定では、 display を実行するファイルの直下 templates ディレクトリのファイルを採用します。 sample.php では、 $o_Smarty->display('sample.tpl'); です。 以上で、 とりあえずは、Smarty を使う事ができます。
/bonvhp/webapp2/Smarty       [後へ]   [目次へ]   [次へ]