smarty学习——高级知识

1、Objects 对象

      smarty允许通过模板访问PHP对象。有两种方式来访问它们。一种是注册对象到模板,然后通过类似于用户自定义函数的形式来访问它。

另一种方法给模板分配对象,然后通过访问其它赋值变量类似的方法进行访问。第一种方法有一个很好的模板语法,同时它作为一个注册对象被限制为几个固定的方法和目标,

这样是比较安全的。然而一个注册对象不能够在相对自身数组里面循环使用和赋值。总之,你根据你自己的需求来觉得选用那种方法,但是使用第一种方法的话,可以让你的模伴语法达到最小。
     如果安全选项激活后,就没有私有成员或者函数能够被访问(以"_"开头)。如果有一个同名成员或者对象存在,那么方法将被使用。
     你可以限制成员和函数,但是外解可以通过列举它们为一个第三注册变量的数组的方式来访问它。
一般情况下,参数通过模板传递给对象的方法和自定义函数获得参数的方法是一样的。一个混合数组作为第一个参数传递,而SMARTY对象作为第二个。如果你想像传统的对象参数一样一次传递一个参数,设置第四个参数为 FALSE即可。

2.Resources资源

模板可以来自各种各样的资源。当你显示或者取得一个模板,或者当你在一个模板里面包含另外一个模板时,只要提供一个类型的资源,紧跟正确的路径和模板名。

如果一个模板资源没有明确的给出 $default resource type 变量值,就认为这个资源为假定值。