Zend_Server_Reflection.xml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 13833 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.server.reflection">
  5. <title>Zend_Server_Reflection</title>
  6. <sect2 id="zend.server.reflection.introduction">
  7. <title>Introduction</title>
  8. <para><classname>Zend_Server_Reflection</classname> fournit un mécanisme standard pour exécuter l'introspection de
  9. fonction et de classe pour utiliser avec des classes serveur. Il est basé sur l'API de réflexion de PHP 5, et
  10. l'améliore pour fournir des méthodes de recherche des types et des descriptions de paramètre et de valeur de
  11. retour, une liste complète des prototypes de fonction et de méthode (c.-à-d., toutes les combinaisons d'appels
  12. valides possibles), et des descriptions de fonction/méthode.</para>
  13. <para>Typiquement, cette fonctionnalité sera seulement utilisée par les développeurs des classes serveur pour le
  14. framework.</para>
  15. </sect2>
  16. <sect2 id="zend.server.reflection.usage">
  17. <title>Utilisation</title>
  18. <para>L'utilisation de base est simple :</para>
  19. <programlisting role="php"><![CDATA[
  20. $class = Zend_Server_Reflection::reflectClass('Ma_Classe');
  21. $function = Zend_Server_Reflection::reflectFunction('ma_fonction');
  22. // Récupère les prototypes
  23. $prototypes = $reflection->getPrototypes();
  24. // Parcoure chaque prototype pour une fonction
  25. foreach ($prototypes as $prototype) {
  26. // Récupère les prototypes des types de retour
  27. echo "Return type: ", $prototype->getReturnType(), "\n";
  28. // Récupère les paramètres
  29. $parameters = $prototype->getParameters();
  30. echo "Paramètres: \n";
  31. foreach ($parameters as $parameter) {
  32. // Récupère le type d'un paramètre
  33. echo " ", $parameter->getType(), "\n";
  34. }
  35. }
  36. // Récupère l'espace de noms d'une classe, d'une fonction, ou d'une méthode.
  37. // Les espaces de noms peuvent être définis au moment de l'instanciation
  38. // (deuxième argument), ou en utilisant setNamespace()
  39. $reflection->getNamespace();
  40. ]]></programlisting>
  41. <para><code>reflectFunction()</code> retourne un objet <classname>Zend_Server_Reflection_Function</classname>.
  42. <code>reflectClass</code> retourne un objet <classname>Zend_Server_Reflection_Class</classname>. Veuillez vous référer à
  43. la documentation d'API pour voir quelles méthodes sont disponibles pour chacun.</para>
  44. </sect2>
  45. </sect1>