即使$my_flag
可能未设置,以下内容是否可以接受?
{if ( $my_flag )}
// Vrooom
{/if}
我是否始终需要isset
以确保不会抛出通知,或者Smarty3是否会处理这些事情?
答案 0 :(得分:0)
可以接受,但PHP会警告您$my_flag
未定义。
我会做那样的事情:
{if isset($my_flag)}
{if $my_flag == 123}
<p>print something</p>
{/if}
{/if}
如果您将尝试当前的脚本,一切都会正常工作,但它会记录通知。上面的脚本确保仅在设置变量时才执行某些操作。
但是,由于Smarty被缓存,您可能需要重新加载页面几次以查看更改(除非您指定$smarty_obj->force_compile = true;
)。