Php SMARTY:${obj->;render}不';我什么也不做

Php SMARTY:${obj->;render}不';我什么也不做,php,smarty,Php,Smarty,我要把我的一个东西送给smarty $smarty->assign('测试',新的MyObject); 。。。。 $smarty->display('main.tpl'); MyObject类有一个名为“render”的函数,它返回自身的字符串表示形式 因此,在main.tpl中,我想将这个对象渲染为 {$test->render()} 不幸的是,它在HTML中没有显示任何内容。有什么建议我可以使这项工作 很多 Jeanluca您需要使用$smarty->register\u objec

我要把我的一个东西送给smarty


$smarty->assign('测试',新的MyObject);

。。。。
$smarty->display('main.tpl');

MyObject类有一个名为“render”的函数,它返回自身的字符串表示形式

因此,在main.tpl中,我想将这个对象渲染为


{$test->render()}

不幸的是,它在HTML中没有显示任何内容。有什么建议我可以使这项工作

很多
Jeanluca

您需要使用
$smarty->register\u object()


参考资料:

这正是我需要的,thnx!我只是注意到我的代码确实有效。注册对象是处理对象的首选方式吗?@Jeanluca我不知道
register\u object()
assign\u by\u ref()
好还是坏。在PHP5中,它们无论如何都不应该有什么不同(因为对象参数是通过引用自动传递的)。如果您想确保,对于大型对象,可以使用
assign\u by\u ref()