名前

registerClass() — テンプレートで使うクラスを登録する

Description

void registerClass(string class_name,
                   string class_impl);

Smarty では、テンプレートから静的なクラスにアクセスできます。ただし セキュリティポリシー で制限されている場合は別です。セキュリティが有効な場合は、 registerClass() で登録したクラスだけがテンプレートからアクセス可能になります。

例 14.36. テンプレートで使うクラスの登録


<?php

class Bar {
  $property = "hello world";
}

$smarty = new Smarty();
$smarty->registerClass("Foo", "Bar");

   

{* セキュリティで制限されていない限りは、Smarty からこのクラスにアクセスできます *}
{Bar::$property}
{* Foo は、Bar クラスに読み替えられます *}
{Foo::$property}

   

例 14.37. テンプレートで使う名前空間つきクラスの登録


<?php
namespace my\php\application {
  class Bar {
    $property = "hello world";
  }
}

$smarty = new Smarty();
$smarty->registerClass("Foo", "\my\php\application\Bar");

   

{* Foo は、\my\php\application\Bar クラスに読み替えられます *}
{Foo::$property}

   

registerObject() および セキュリティ も参照ください。