| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.server.reflection">
- <title>Zend_Server_Reflection</title>
- <sect2 id="zend.server.reflection.introduction">
- <title>Introduction</title>
- <para>
- <classname>Zend_Server_Reflection</classname> fournit un mécanisme standard pour
- exécuter l'introspection de fonction et de classe pour utiliser avec des classes
- serveur. Il est basé sur l'API de réflexion de <acronym>PHP</acronym> 5, et l'améliore pour fournir des
- méthodes de recherche des types et des descriptions de paramètre et de valeur de retour,
- une liste complète des prototypes de fonction et de méthode (c.-à-d., toutes les
- combinaisons d'appels valides possibles), et des descriptions de
- fonction/méthode.
- </para>
- <para>
- Typiquement, cette fonctionnalité sera seulement utilisée par les développeurs des
- classes serveur pour le framework.
- </para>
- </sect2>
- <sect2 id="zend.server.reflection.usage">
- <title>Utilisation</title>
- <para>L'utilisation de base est simple :</para>
- <programlisting language="php"><![CDATA[
- $class = Zend_Server_Reflection::reflectClass('Ma_Classe');
- $function = Zend_Server_Reflection::reflectFunction('ma_fonction');
- // Récupère les prototypes
- $prototypes = $reflection->getPrototypes();
- // Parcoure chaque prototype pour une fonction
- foreach ($prototypes as $prototype) {
- // Récupère les prototypes des types de retour
- echo "Return type: ", $prototype->getReturnType(), "\n";
- // Récupère les paramètres
- $parameters = $prototype->getParameters();
- echo "Paramètres: \n";
- foreach ($parameters as $parameter) {
- // Récupère le type d'un paramètre
- echo " ", $parameter->getType(), "\n";
- }
- }
- // Récupère l'espace de noms d'une classe, d'une fonction, ou d'une méthode.
- // Les espaces de noms peuvent être définis au moment de l'instanciation
- // (deuxième argument), ou en utilisant setNamespace()
- $reflection->getNamespace();
- ]]></programlisting>
- <para>
- <methodname>reflectFunction()</methodname> retourne un objet
- <classname>Zend_Server_Reflection_Function</classname>. <code>reflectClass</code>
- retourne un objet <classname>Zend_Server_Reflection_Class</classname>. Veuillez vous
- référer à la documentation d'API pour voir quelles méthodes sont disponibles pour
- chacun.
- </para>
- </sect2>
- </sect1>
|