2012-07-16 5 views
0

Est-ce que ce qui suit est acceptable, même si $my_flag ne peut pas être défini?Ai-je toujours besoin d'un isset dans un if?

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

Ai-je besoin toujours isset pour assurer les avis ne sont pas jetés, ou ne Smarty3 prendre soin des choses?

+0

Avez-vous essayé? – JJJ

+0

Oui, et tout semble bien. Je suis plus préoccupé que lorsque le modèle est compilé, je veux être sûr que le PHP correspondant ne va pas jeter des erreurs avec 'E_STRICT' – TheDeadMedic

Répondre

0

C'est acceptable, mais PHP vous avertira que $my_flag est indéfini.

je ferais quelque chose comme ça:

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

Si vous essayerez votre tout actuel script fonctionnera, mais il enregistrera un avis. Le script ci-dessus s'assure que seulement si la variable est définie, alors faites quelque chose. Toutefois, étant donné que Smarty est mis en cache, vous devrez peut-être recharger la page plusieurs fois pour voir les modifications (sauf si vous spécifiez $smarty_obj->force_compile = true;).

Questions connexes