Smarty:include_php函数

{include_php}

重要提示

{include_php}是废弃的函数,用注册插件的方式来将程序代码和显示分离,是更好的选择。 在Smarty 3.1,{include_php}仅在SmartyBC中可用.

参数名称类型必选参数默认值说明
filestringYesn/a载入PHP文件的绝对路径
oncebooleanNoTRUE是否仅载入一次该PHP文件,即使多次执行。
assignstringNon/a将包含文件的输出赋值给变量

可选标记:

名称说明
nocache关闭包含PHP文件的缓存

{include_php}用于载入一个PHP文件到模板中。 属性中的file路径可以是绝对路径,或是相对于 $trusted_dir的路径。 如果安全机制开启,那么只有在$trusted_dir目录中的文件才可以被载入。 参见安全机制。

默认情况下,该PHP文件仅会载入一次,即使多次执行模板。 你可以设置once属性使其每次执行都载入。 当once设置为FALSE,PHP文件将在每次模板执行的时候都会被载入。

你可以设置可选的属性assign,来将{include_php}载入的内容 赋值给一个指定的模板变量,而不是输出。

在载入的PHP文件中,可以通过$_smarty_tpl->smarty来获取到当前的Smarty对象。

Example 7.55.  {include_php} 函数

load_nav.php 文件:

<?php

// load in variables from a mysql db and assign them to the template
require_once('database.class.php');
$db = new Db();
$db->query('select url, name from navigation order by name');
$this->assign('navigation', $db->getRows());

?>

模板:

{* absolute path, or relative to $trusted_dir *}
{include_php file='/path/to/load_nav.php'}
{include_php '/path/to/load_nav.php'}             {* short-hand *}

{foreach item='nav' from=$navigation}
  <a href="{$nav.url}">{$nav.name}</a><br />
{/foreach}

参见{include}$trusted_dir{php}{capture}, 资源 和 组件化模板


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部