发布于2026-07-17 阅读(0)
扫一扫,手机访问
在 Smarty 模板引擎中嵌入 PHP 代码,其实没想象中那么复杂。Smarty 提供了两个内置函数,专门用来处理这类需求——一个是 include_php,另一个是 {php} 标签。下面直接看它们怎么用。

这个函数的作用是在模板中引入一个外部的 PHP 脚本文件。需要注意的是,如果 Smarty 开启了安全模式,被引入的脚本必须放在 $trusted_dir 路径下,否则会报错。
使用 include_php 时必须设置 file 属性,用来指定 PHP 文件的路径。路径可以是相对于 $trusted_dir 的相对路径,也可以是绝对路径。
基本用法如下:
{include_php file="test.php"}
来看一个完整的例子。假设有一个 load_na v.php 文件,它从 MySQL 数据库读取导航数据并赋值给模板变量:
query("select * from site_na v_sections order by name",SQL_ALL);
$this->assign('sections',$sql->record);
?>
然后在模板文件 index.tpl 中引入它并遍历输出:
{* absolute path, or relative to $trusted_dir *}
{include_php file="/path/to/load_na v.php"}
{foreach item="curr_section" from=$sections}
{$curr_section.name}
{/foreach}
这样就把 PHP 逻辑和模板显示分开了,维护起来也清晰。
如果你不想单独写一个 PHP 文件,或者只是临时需要执行一小段逻辑,可以直接在模板中使用 {php} 标签。这个标签允许你在模板中直接嵌入 PHP 脚本,但 Smarty 会根据 $php_handling 的设置来决定是否执行这些代码——通常不建议频繁使用,除非你很清楚自己在做什么,或者确实没有更好的替代方案。
一个简单的例子:
{php}
echo "这个是php内建函数的作用";
{/php}
再比如,直接在模板中引入一个外部 PHP 文件:
{php}
// including a php script directly
// from the template.
include("/path/to/display_weather.php");
{/php}
注意:虽然 {php} 标签用起来很方便,但它会让模板变得难以维护,也容易引入安全风险。在实际项目中,更推荐的做法是使用 include_php 或者将逻辑封装到 Smarty 插件中。当然,如果只是快速验证或调试,偶尔用用也无妨。
下一篇:php版本7历史,php版本历史
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8