我使用以下代码将模板读取到缓冲区(ob)中$vars包含我想在模板中访问的所有变量。
print_r($this->vals); //prints out an array of values, value1 => '', value2 => ''...
ob_start();
include myTemplate.php
$content = ob_get_contents();
ob_end_clean();
echo $content;
但在我的模板$vals是未定义的,或者我没有访问它。
知道我哪里错了吗?
谢谢,
可能是一个简单的打字错误。但是您使用的是$vals
而不是$vars
。
如果这不是问题所在,就把ob_start()
放在首位。
ob_start();
print_r($this->vals); //prints out an array of values, value1 => '', value2 => ''...
include "myTemplate.php"; //few errors were here, no quotes and semicolon
$content = ob_get_contents();
ob_end_clean();
echo $content;
只是做了一个快速测试,它有效。
更新
如果您正在尝试获取print_r($this -> vals)
到$content
的值。有一种非常简单的方法可以做到这一点。print_r()[docs]函数也接受另一个参数是否返回。
如果是这样的话,你的整个代码就归结为这个
$content = print_r($this->vals, true);