技术注解:{include_php}在Smarty中已经将要过时,通过定制模板函数你可以达到相似的函数功能。使用{include_php}的唯一原因就是你真的需要将PHP函数与plugins/目录或你的应用代码隔离。参见组件化的模板以获得更详细的信息。
属性名 | 类型 | 必需? | 缺省 | 描述 |
---|---|---|---|---|
file | string | Yes | n/a | 要包含的PHP文件的名称 |
once | boolean | No | TRUE | 如果多次包含,那么是否要包含PHP文件多次 |
assign | string | No | n/a | 包含的PHP文件的输出所要赋值的变量名 |
{include_php}标记用来包含一个PHP脚本到你的模板中。如果$security打开,那么PHP脚本必需在$trusted_dir路径中。{include_php}标记必需有属性file,包含着被包含的PHP文件的路径,要么是相对于$trusted_dir的路径,要么是绝对路径。
缺省情况下,PHP文件只会被包含一次,即使在模板中多次调用也是如此。你可以使用once属性指定每次都要包含文件。将once设置为FALSE将在每次文件包含在模板里时都包含PHP脚本。
你也可以传递assign属性,指定一个模板变量名,而{include_php}的输出将赋值给这个变量,而不是直接输出。
Smarty对象在你包含的PHP脚本中可以通过$this引用。