テンプレートエンジンのインターフェイスはあまり変更されていません。 これらはすべて同じ
display()
、
fetch()
および
assign()
であり、すべてのニーズの99%をカバーしています。 巨大な
assign_by_ref()
はBoseに置かれました。 そこで彼は親愛なる;)
内部はより重要な変更を受けています:
- PHP4のサポートの放棄と、PHP5のオブジェクト指向機能の完全な使用。 つまり、テンプレートでは、松葉杖なしでオブジェクトの逆参照を使用できます。
- オブジェクト指向のアプローチはプラグインにも影響しました。現在、各プラグインは
Smarty_Internal_PluginBase
から継承されたクラスSmarty_Internal_PluginBase
- メインクラスファイル-Smarty.class.php-は疑わしいほど小さくなりました:LGPLライセンスの巨大なネタバレを含めてわずか11 kb;)
- カーネルから除外されたすべての必須要素は、必要な場合にのみロードされます(遅延ロード)
- 少しいいことは、シングルトンパターンの組み込み実装です。
- ネイティブPHPテンプレートのサポートは、多くのホリバーを確実に生成する機能です。 何が起こるかを見るのは面白いでしょうが、私はこの機能を使用しないと自分で言うことができます)
2.xブランチと比較して、ディストリビューションが大幅に成長したことを言わなければなりません
libs
からエクスポートされた
libs
フォルダーは800 kb未満でしたが、バージョン2.6.20では約320 kbでした。
単体テストがないことも驚くべきことです(バージョン2.6.20では、疑わしい品質ではありますが)。 しかし、ケースを見てみると面白いでしょう。 おそらくそれが必要です:)
リリースの詳細-公式のREADMEにあります。
興味のある方は、SVNからバージョンを取得できます。
svn checkout smarty-php.googlecode.com/svn/branches/Smarty3Alpha