最近、smarty 3 alpha の登場を目にしたので、時間をかけて訪問調査をしてきました。次のテキストは基本的に Readme からのものです:
基本的なファイル ファイル構造
インデックス.php
/libs/
Smarty.class.php #メインファイル
/libs/sysplugins/ #内部プラグイン
内部。*
/plugins/ #外部プラグイン、自由に拡張可能
function.mailto.php
modifier.escape.php
/templates/ #Template、純粋な php または従来の Smarty テンプレートを使用できます
インデックス.tpl
Index_view.php は、古典的なスマートな呼び出しコード スニペットです。
require('Smarty.class.php');
$smarty=newSmarty;
$smarty->assign('foo','bar');
$smarty->display('index.tpl');
前バージョンとの違いはないようです
SINGLETON
これには意味がありますか?
コードスニペット:
$smarty= Smarty::instance();
テンプレートの前にある Smarty テンプレートは、一連のタグ言語を再定義することに相当するため、smarty3 は、PHP 構文テンプレートを直接サポートする新しいテンプレート フォームを提供します。
しかし、それでもテンプレートを使用する必要があるのかという疑問が生じます。
PHP タイプのテンプレートを引用する例:
コード スニペット:
$smarty->display('php:mytemplate.tpl');
使い慣れた構文をテンプレート内で直接使用できます。 <?=$foo?> <?=$bar?>
PHP テンプレートを使用する場合は、セキュリティの問題を自分で解決する必要があります。しかし、成熟したチームにとってこれは問題ではありません。
さらに、文字列型テンプレートの新しいサポートがより活発になっているように感じられ、テンプレートからの距離もますます遠ざかっています。
コード スニペット:
$smarty->display('string:これは私のテンプレートです、{$foo}!');
Smarty3の関連リンク
Smarty 3 Alpha with SVN -- googlecode が提供する svn サービスを選択すると非常に経済的です
Smarty 3 開発者メール グループ