blob: ee339cadbd53cda79733081024dd78eab01d75e1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
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](#advanced.features.security) does not tell it
otherwise. If security is enabled, classes registered with
`registerClass()` are accessible to templates.
<?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}
<?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()`](#api.register.object), and
[Security](#advanced.features.security).
|