Zend_Server_Reflection.xml 2.6 KB

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