Maison >développement back-end >tutoriel php >Fonction et utilisation de la réflexion orientée objet PHP

Fonction et utilisation de la réflexion orientée objet PHP

墨辰丷
墨辰丷original
2018-05-24 11:36:171469parcourir

Cet article présente principalement la fonction de réflexion orientée objet et l'utilisation de php, et analyse brièvement le concept et l'utilisation spécifique de la réflexion orientée objet php5 sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

Les exemples de cet article décrivent la fonction et l'utilisation de la réflexion orientée objet PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Compréhension personnelle de la définition de la réflexion :

Tout d'abord, nous devons parler de ce qu'est la réflexion. Pour un novice, le concept de réflexion donne souvent le sentiment qu'il ne le comprend pas et qu'il ne sait pas comment le faire fonctionner.

La réflexion fait référence à : fait référence à l'extension de l'analyse des programmes PHP dans l'état d'exécution de PHP, à l'exportation ou à l'extraction d'informations détaillées sur les classes, les méthodes, les propriétés, les paramètres, etc. , et également inclure des commentaires. Cette fonction d'obtention dynamique d'informations et d'appel dynamique de méthodes objet est appelée API de réflexion. 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 . (Remarque : Ce type d'opération inverse en php n'est en fait entièrement disponible qu'après PHP5 )

Je vais l'illustrer avec un exemple ci-dessous :

class test{
     private   $A;
     public   $B;
     protected  $C;
     public function test(){
       return "this is a test function";
     }
}
//实例化一个反射类ReflectionClass
$obj=new ReflectionClass('test');
echo $obj."<br>";
//实例化test类,并访问其test方法
$obj2=$obj->newInstance();
echo $obj2->test();

Résultats renvoyés par l'instance personnelle :

/** * xxx.php * ============================================== * Copy right 2012-2015 * ---------------------------------------------- * This is not a free software, without any authorization is not allowed to use and spread. * ============================================== * @Author:YeXianMing * @Email:LangWaiShiGe@hotmail.com * @Version:zend studio10.6.2 php5.4.38 apache2.2 */ Class [ class test ] { @@ D:\www\MyProjecttest\index5.php 13-21 - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [3] { Property [ private $A ] Property [ public $B ] Property [ protected $C ] } - Methods [1] { Method [ public method test ] { @@ D:\www\MyProjecttest\index5.php 18 - 20 } } }
this is a test function

Ce qui précède Nous espérons que l'ensemble du contenu de cet article sera utile à l'étude de chacun.


Recommandations associées :

PensezPHPDétails de la fonction : méthode D

PHPMéthodes courantes pour obtenir des extensions de fichiers

À propos des points de connaissances liés à PHP implémentant la connexion utilisateur (2 )

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!

Déclaration:
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