Name

registerClass() — register a class for use in the templates

Description

void registerClass(string class_name,
                   string class_impl);

Smarty allows you to access static classes from templates as long as the Security Policy does not tell it otherwise. If security is enabled, classes registered with registerClass() are accessible to templates.

Пример 14.36. Register class for use within a template


<?php
 class Bar {
  $property = "hello world";
}

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

   

{* Smarty will access this class as long as it's not prohibited by security *}
{Bar::$property}
{* Foo translates to the real class Bar *}
{Foo::$property}

   

Пример 14.37. Register namespaced class for use within a template


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

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

   

{* Foo translates to the real class \my\php\application\Bar *}
{Foo::$property}

   

See also registerObject(), and Security.

    Поддержать сайт на родительском проекте КГБ