Zend_Server_Reflection.xml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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>Introdução</title>
  8. <para>
  9. <classname>Zend_Server_Reflection</classname> fornece um mecanismo padrão para executar
  10. introspecção de função e classe para uso com as classes de servidor. É baseado na
  11. <acronym>API</acronym> Reflection do <acronym>PHP</acronym> 5, acrescentado com métodos
  12. para recuperar parâmetros e retornar tipos de valor e descrições, uma lista completa
  13. dos protótipos de funções e métodos (ex.: todas as possíveis combinações de chamada
  14. válidas), e as descrições de funções ou métodos.
  15. </para>
  16. <para>
  17. Normalmente, esta funcionalidade só será usada por desenvolvedores de classes de
  18. servidor para o framework.
  19. </para>
  20. </sect2>
  21. <sect2 id="zend.server.reflection.usage">
  22. <title>Utilização</title>
  23. <para>
  24. O uso básico é simples:
  25. </para>
  26. <programlisting language="php"><![CDATA[
  27. $class = Zend_Server_Reflection::reflectClass('My_Class');
  28. $function = Zend_Server_Reflection::reflectFunction('my_function');
  29. // Obter protótipos
  30. $prototypes = $reflection->getPrototypes();
  31. // Repetir o laço através de cada protótipo da função
  32. foreach ($prototypes as $prototype) {
  33. // Obter o tipo de retorno do protótipo
  34. echo "Tipo de retorno: ", $prototype->getReturnType(), "\n";
  35. // Get prototype parameters
  36. $parameters = $prototype->getParameters();
  37. echo "Parâmetros: \n";
  38. foreach ($parameters as $parameter) {
  39. // Obter tipo do parâmetro
  40. echo " ", $parameter->getType(), "\n";
  41. }
  42. }
  43. // Obter namespace para uma classe, função ou método.
  44. // Namespaces podem ser definidos em tempo de instanciação
  45. // (segundo argumento), ou usando setNamespace()
  46. $reflection->getNamespace();
  47. ]]></programlisting>
  48. <para>
  49. <methodname>reflectFunction()</methodname> retorna um objeto
  50. <classname>Zend_Server_Reflection_Function</classname>;
  51. <methodname>reflectClass()</methodname> retorna um objeto
  52. <classname>Zend_Server_Reflection_Class</classname>. Consulte a documentação da
  53. <acronym>API</acronym> para ver quais métodos estão disponíveis para cada um.
  54. </para>
  55. </sect2>
  56. </sect1>
  57. <!--
  58. vim:se ts=4 sw=4 et:
  59. -->