aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/programmers/api-functions/api-register-class.md
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).