Exemple de code d'utilisation de réflexion de la classe php

怪我咯
Libérer: 2023-03-13 19:10:02
original
1434 Les gens l'ont consulté

Reflection est une API permettant de manipuler des méta-modèles dans le paradigme Orienté objet . Elle est très puissante et peut nous aider à créer des applications complexes et évolutives. Ses utilisations incluent : le chargement automatique de plug-ins, la génération automatique de documents et peut même être utilisé pour étendre le langage PHP. L'API de réflexion PHP se compose de plusieurs classes qui nous aident à accéder aux métadonnées du programme ou à interagir avec les annotations associées. Avec l'aide de la réflexion, nous pouvons obtenir les méthodes implémentées par la classe, créer une instance de la classe (différente de la création avec new), appeler une méthode (également différente de l'appel régulier), transmettre des paramètres, appeler dynamiquement le static de la méthode de classe.

L'API Reflection est l'extension de la technologie oop intégrée à PHP, comprenant certaines classes, exceptions et interfaces utilisées ensemble, elles peuvent être utilisées pour nous aider à analyser d'autres classes, interfaces, méthodes, propriétés, méthodes et extensions. Ces extensions oop sont appelées réflexion et se trouvent dans le répertoire code source php/ext/reflection. Vous pouvez utiliser l'API de réflexion pour introspecter l'API de réflexion elle-même (c'est peut-être le sens original de réflexion, "voir" vous-même) :

Cet article présente principalement l'utilisation de la réflexion du PHP classe, avec des exemples.Il a une certaine valeur de référence pour les opérations courantes de la classe de réflexion.Les amis dans le besoin peuvent se référer à

Les exemples de cet article décrivent l'utilisation de la réflexion dans la classe PHP. Partagez-le avec tout le monde pour votre référence. La méthode d'implémentation spécifique est la suivante :

Cet exemple implémente l'obtention de la classe correspondante pour chaque canal pour effectuer l'opération correspondante. Les détails sont les suivants :

Le code est le suivant :

foreach($this->chs as $ch) {
    $className = $this->chsMap[$ch];
    if($className) { // 如果是合法的类名  
 // 获取反射类
 $class = new ReflectionClass($className);
 // 获取类的方法  
 $recd = $class->getmethod('exeRecd');
 // 生成类的实例  
 $instance = $class->newInstance($this->qq, $this->ip);
 // 执行方法  
 $result[$ch] = $recd->invoke($instance);
    }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!