8726 sujets

Développement web côté serveur, CMS

Bonjour,

Depuis quelque temps je me demande s'il existe en php un moyen permettant de mettre le contenu d'une instruction conditionnelle dans une variable (ou quelque chose de similaire le cas échéant). Tout cela pour une question de maintenabilité.

Par exemple :
if ( ! $capacityAministrator AND $userGroup != $authorizedGroups ) {}


Deviendrait :
if ( $authorized ) {}


Sur les forums j'ai vu des gens qui enregistraient leurs instructions dans un string pour les appeler ensuite via un eval()...

Et vous ?
Modifié par Olivier C (31 Aug 2016 - 07:49)
Modérateur
euhh l'éval me semble peu adapté, pourquoi pas juste faire:


$authorized = ! $capacityAministrator AND $userGroup != $authorizedGroups;


?
@kustolovic : ah bon ça marche ? Parse que c'est la première chose que j'avais tenté mais it doesn't work... Mais si ça se trouve je me suis emmêlé les pinceaux avec un paramètre butiné dans une boucle while, ce qui m'amène à penser que ma factorisation devient moins pertinente pour le coup. À revoir donc...

PS : je savais que la fonction eval() était à éviter, d'où mon questionnement.
Modifié par Olivier C (31 Aug 2016 - 08:43)
A mon avis le eval() sert à évaluer le résultat à différent endroit du code plutôt qu'a tester le résultat d'un boolean qu'on aura déterminé une fois pour toute.

Je pense que les fonctions anonymes sont plus adaptés si on se trouve dans ce cas de figure.