PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

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.

Example 198. 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}

   

Example 199. 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.

Smarty Template Engine