2012-07-16 41 views
0

即使可以不设置$my_flag,以下是否可以接受?我是否总是需要isset里面的if?

{if ($my_flag)} 
    // Vrooom 
{/if} 

难道我总是需要isset确保通知不抛出,或根本Smarty3照顾的东西呢?

+0

你试过了吗? – JJJ 2012-07-16 10:37:19

+0

是的,一切似乎都很好。我更关心的是,当模板编译时,我想确保相应的PHP不会抛出'E_STRICT'错误 – TheDeadMedic 2012-07-16 10:39:53

回答

0

这是可以接受的,但PHP会警告你$my_flag是未定义的。

我会做这样的事情:

{if isset($my_flag)} 
    {if $my_flag == 123} 
     <p>print something</p> 
    {/if} 
{/if} 

如果你争取你当前的脚本一切都将正常工作,但它会记录的通知。上面的脚本确保只有在变量被设置的情况下才会执行某些操作。

但是,由于Smarty缓存,您可能需要重新加载页面几次以查看更改(除非您指定$smarty_obj->force_compile = true;)。