Maison >développement back-end >tutoriel php >Comment instancier dynamiquement des classes en PHP sans utiliser eval() ?
Instancier des classes via des variables dynamiques en PHP
Instancier dynamiquement des classes à partir de noms de variables peut être une technique précieuse en PHP. Considérons le scénario suivant :
$var = 'bar'; $bar = new {$var}Class('var for __construct()'); //$bar = new barClass('var for __construct()');
Comment pouvez-vous y parvenir sans recourir à la fonction très controversée eval(), que vous préférez éviter ?
Assignation de variables et Instanciation
La solution réside dans la création d'une variable contenant le nom de la classe, puis dans l'instanciation de la classe à l'aide de la variable $ opérateur :
$classname = $var . 'Class'; $bar = new $classname("xyz");
Cette technique vous permet d'instancier dynamiquement des classes basées sur des valeurs de variables, ce qui peut s'avérer utile dans des modèles comme le modèle Factory.
Autres considérations
Pour approfondir ce sujet, reportez-vous à la documentation PHP sur les espaces de noms et les fonctionnalités du langage dynamique, qui fournit plus de contexte et d'exemples.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!