Hello,

J'ai une application qui utilise beaucoup de variable et je me suis décidé à virer toutes les alertes de type Notice afin de disposer d'une appli proprement développée. Par contre l'initialisation des variables, c'est juste une horreur.

à tous les endroits où je faisais des tests sur une variable stockée en session, je suis maintenant obligé de :

1. faire un test sur l'initialisation de ma variable stockée en session
2. définir une variable temporaire avec le contenu de ma variable stockée en session dont j'ai déterminé précédemment si elle existait ou non
3. faire mon test

donc, l'instruction suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if($_SESSION['variable'] == 1){...}
devient

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$varTmp1 = (isset($_SESSION['variable'])) ? $_SESSION['variable'] : '';
if ($varTmp1 == 1){...}


de même

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if ($_SESSION[$_SESSION['variable']] == 'truc'){...}
devient

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 
$varTmp1 = (isset($_SESSION['variable'])) ? $_SESSION['variable'] : '';
$varTmp2 = '';
if ($varTmp1 != '') {
        $varTmp2 = (isset($_SESSION[$varTmp1])) ? $_SESSION[$varTmp1] : '';
}


Je trouve cela très fastidieux (surtout dans le second cas) ! Alors certes, je dois rattraper mon manque de rigueur, mais n'y a-t-il pas un moyen plus simple de programmer proprement sans se noyer dans les variable temporaires et la multiplication des tests ?

Question subsidiare : est-ce que la syntaxe suivante est correcte ? Le fait de ne pas encadrer isset() par des parenthèse est-il gênant ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$varTmp1 = isset($_SESSION['variable']) ? $_SESSION['variable'] : '';
Merci de vos conseils !