Maison >développement back-end >tutoriel php >Exemple d'analyse de PHP générant dynamiquement des objets basés sur des noms de classes de chaînes
Dans notre dernière leçon Idées de développement et partage de code de chaînes sécurisées PHP, nous avons présenté le développement et l'utilisation de chaînes sécurisées PHP. Aujourd'hui, nous continuerons à vous le présenter. Concernant la génération dynamique d'objets à partir de chaînes PHP, une exigence courante est d'obtenir le nom d'une classe à partir d'autres endroits et de générer un objet de cette classe, puis la syntaxe utilisée auparavant ($obj = new $classname();) ne fonctionnera certainement pas ! Aujourd'hui, nous allons vous présenter comment y parvenir~
Téléchargez d'abord La bibliothèque de classes PHP que nous devons utiliser dans cette leçon est une bibliothèque de classes qui génère dynamiquement des objets basés sur des noms de classes de chaînes : http://www.php.cn/xiazai/leiku/606
Une fois le téléchargement terminé, recherchez le fichier de la bibliothèque de classes php, extrayez-le dans le répertoire local, puis créez un nouveau file~
Nous sommes dans le nouveau Appeler cette classe dans le fichier php et l'instancier :
<?php include_once "stringtext.php"; //引入类库文件 $className = 'Test'; $obj = call_user_func(array($className, 'create')); var_dump($obj); ?>
Utiliser directement cette syntaxe ne fonctionnera certainement pas :
$classname='Test'; $obj = new $classname();
Vous pouvez définir une méthode statique pour la classe cible qui génère une instance de l'objet, puis appelle la méthode via call_user_func ou call_user_func_array. Bien entendu, cela peut également être implémenté via des méthodes telles que les classes d’usine.
Le résultat en cours est donc le suivant :
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!