diff --git a/docs/en/programmers/advanced-features/advanced-features-objects.xml b/docs/en/programmers/advanced-features/advanced-features-objects.xml index e84fbe04..6c5f5e57 100644 --- a/docs/en/programmers/advanced-features/advanced-features-objects.xml +++ b/docs/en/programmers/advanced-features/advanced-features-objects.xml @@ -3,11 +3,15 @@ Objects - Smarty allows access to PHP objects through the templates. There are + Smarty allows access to PHP + objects through the templates. + There are two ways to access them. One way is to register objects to the template, - then use access them via syntax similar to custom functions. The other way - is to assign objects + then use access them via syntax similar to + custom functions. + The other way + is to assign() objects to the templates and access them much like any other assigned variable. The first method has a much nicer template syntax. It is also more secure, as a registered object can be restricted to certain @@ -62,22 +66,22 @@ class My_Object { function meth1($params, &$smarty_obj) { - return "this is my meth1"; + return 'this is my meth1'; } } $myobj = new My_Object; // registering the object (will be by reference) -$smarty->register_object("foobar",$myobj); +$smarty->register_object('foobar',$myobj); // if we want to restrict access to certain methods or properties, list them -$smarty->register_object("foobar",$myobj,array('meth1','meth2','prop1')); +$smarty->register_object('foobar',$myobj,array('meth1','meth2','prop1')); // if you want to use the traditional object parameter format, pass a boolean of false -$smarty->register_object("foobar",$myobj,null,false); +$smarty->register_object('foobar',$myobj,null,false); // We can also assign objects. Assign by ref when possible. -$smarty->assign_by_ref("myobj", $myobj); +$smarty->assign_by_ref('myobj', $myobj); -$smarty->display("index.tpl"); +$smarty->display('index.tpl'); ?> ]]> @@ -87,17 +91,21 @@ $smarty->display("index.tpl"); meth1 p1="foo" p2=$bar} +{foobar->meth1 p1='foo' p2=$bar} {* you can also assign the output *} -{foobar->meth1 p1="foo" p2=$bar assign="output"} +{foobar->meth1 p1='foo' p2=$bar assign='output'} the output was {$output} {* access our assigned object *} -{$myobj->meth1("foo",$bar)} +{$myobj->meth1('foo',$bar)} ]]> + + See also register_object() + assign() + -