php - 如何将参数传递给使用 'include' 呈现的 PHP 模板?

标签 php templates parameters include

在 PHP 模板方面需要您的帮助。我是 PHP 新手(我来自 Perl+Embperl)。不管怎样,我的问题很简单:

  • 我有一个小模板来渲染一些项目,让它成为一篇博文。
  • 我知道使用此模板的唯一方法是使用“include”指令。
  • 我想在遍历所有相关博客文章的循环中调用此模板。
  • 问题:我需要向这个模板传递一个参数;在这种情况下,引用代表博客文章的数组。

代码看起来像这样:

$rows = execute("select * from blogs where date='$date' order by date DESC");
foreach ($rows as $row){
  print render("/templates/blog_entry.php", $row);
}

function render($template, $param){
   ob_start();
   include($template);//How to pass $param to it? It needs that $row to render blog entry!
   $ret = ob_get_contents();
   ob_end_clean();
   return $ret;
}

有什么想法可以实现吗?我真的很困惑 :) 还有其他方法可以呈现模板吗?

最佳答案

考虑包含一个 PHP 文件,就好像您正在将代码从 include 复制粘贴到 include 语句所在的位置。这意味着您继承了当前的作用域

因此,在您的情况下,$param 已在给定模板中可用。

关于php - 如何将参数传递给使用 'include' 呈现的 PHP 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1312300/

相关文章:

php - 尝试通过 curl 发布后从页面中获取数据

php - Imagick:无法打开文件

PHP 5.5 并尝试......终于

php - 从 SimpleXML 访问 @attribute

c++ - 基于用户表达式在编译时参数化函数

ajax - Backbone.js 模型获取 : parameters cause success/error/completed callbacks not to trigger

c - 处理数千个参数的参数设置操作

php - 是否有处理仅在 MVC 中的一个 View 中使用的 javascript 的标准方法?

c++ - 关闭 HANDLES 和其他 WINAPI 的模板类?

c# - 带有哈希表/字典参数的 Powershell C# Cmdlet