8710 sujets

Développement web côté serveur, CMS

Bonjour

je cherche à remplacer l'utilisation d'une variable de session par une écriture indirecte
                if (($_SESSION['user']['role'] == 'admin')) {
                    ?>
                        <li class="nav-item">
                            <a class="" href="index.php?route=admin"> ? Admin</a>
                            <a class="" href="index.php?route=deconnexion">/ Déconnexion /</a>
                        </li>
                    <?php

                }


mais faire $session = $_SESSION['user']['role']; est ce le meilleur moyen et est ce que $session sera visible partout?
Modérateur
Bonjour,

$session sera disponible partout en aval sauf dans les classes et fonctions et cela reste une bonne pratique dans la mesure où cela vous permet d'assainir et de valider la donnée une seule fois puis de la réutiliser ensuite.

Si la portée de la variable doit aller au delà du code procédural et que cette donnée n'est pas vouée à muer en cours de route, vous pouvez, au lieu d'utiliser une variable, définir une constante qui, elle, sera accessible absolument partout sans restriction.