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: }
47: