将对象的值转换为PHP变量(smarty)

时间:2013-01-31 09:40:02

标签: php smarty

我正在尝试将HTML标记的值转换为PHP变量。我下面的代码不起作用,{mytag}的值为21。

我在智能模板中使用{mytag}作为HTML钩子从数据库中提取字段,所以我必须拥有{mytag}。

计划是在数学中使用db中的int,但是当{mytag}被视为对象时,我必须将值转换为另一个变量。

$t = new stdClass;
$t->bat = "{mytag}";
$bar = $t->foo;
ob_start();
$b = var_export($bar, true);
echo $b;
$stdClass = ob_get_contents();
ob_end_clean();
$the_var = $stdClass;

当我检查输出时,我得到的是名字而不是值。

echo $the_var[0] 
//prints ' and not 2
echo $the_var[1] 
//prints { and not 1

如何让$ the_var包含值21?

1 个答案:

答案 0 :(得分:1)

相当小的解决方案但应该有效。

{php}
$the_var = "$this->get_template_vars('mytag')";
{/php}

来自smarty docs

  

get_template_vars() - 返回指定的变量值(s)
  array get_template_vars(string varname);