static クラス

static クラスには直接アクセスすることができます。構文は、PHP と同じです。

注意

PHP のクラスに直接アクセスすることはお勧めしません。 これは、アプリケーションのコードの構造と表示内容とを密結合させることになり、 さらにテンプレートの構造も複雑になってしまいます。 プラグインを登録し、テンプレートを PHP のクラスやオブジェクトから隔離することを推奨します。 この仕組みはよく考えた上で使うようにしましょう。 Smarty のウェブサイトにあるベストプラクティスのページも参照ください。

例 17.10. static クラスへのアクセス方法


{assign var=foo value=myclass::BAR}  <--- クラス定数 BAR

{assign var=foo value=myclass::method()}  <--- メソッドの結果

{assign var=foo value=myclass::method1()->method2}  <--- メソッドチェイン

{assign var=foo value=myclass::$bar}  <--- myclass クラスの bar プロパティ

{assign var=foo value=$bar::method}  <--- Smarty の変数 bar をクラス名として使う