2012-07-16 45 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;)。