Subversion Repositories ALCASAR

Rev

Details | Last modification | View Log

Rev Author Line No. Line
2809 rexy 1
<?php
2
 
3
/**
4
 * Smarty Method RegisterClass
5
 *
6
 * Smarty::registerClass() method
7
 *
8
 * @package    Smarty
9
 * @subpackage PluginsInternal
10
 * @author     Uwe Tews
11
 */
12
class Smarty_Internal_Method_RegisterClass
13
{
14
    /**
15
     * Valid for Smarty and template object
16
     *
17
     * @var int
18
     */
19
    public $objMap = 3;
20
 
21
    /**
22
     * Registers static classes to be used in templates
23
     *
24
     * @api  Smarty::registerClass()
25
     * @link http://www.smarty.net/docs/en/api.register.class.tpl
26
     *
27
     * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
28
     * @param string                                                          $class_name
29
     * @param string                                                          $class_impl the referenced PHP class to
30
     *                                                                                    register
31
     *
32
     * @return \Smarty|\Smarty_Internal_Template
33
     * @throws \SmartyException
34
     */
35
    public function registerClass(Smarty_Internal_TemplateBase $obj, $class_name, $class_impl)
36
    {
37
        $smarty = $obj->_getSmartyObj();
38
        // test if exists
39
        if (!class_exists($class_impl)) {
40
            throw new SmartyException("Undefined class '$class_impl' in register template class");
41
        }
42
        // register the class
43
        $smarty->registered_classes[ $class_name ] = $class_impl;
44
        return $obj;
45
    }
46
}