|
|
@@ -0,0 +1,70 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!-- EN-Revision: 17175 -->
|
|
|
+<!-- Reviewed: no -->
|
|
|
+<sect1 id="zend.server.reflection">
|
|
|
+ <title>Zend_Server_Reflection</title>
|
|
|
+
|
|
|
+ <sect2 id="zend.server.reflection.introduction">
|
|
|
+ <title>Introdução</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ <classname>Zend_Server_Reflection</classname> fornece um mecanismo padrão para executar
|
|
|
+ introspecção de função e classe para uso com as classes de servidor. É baseado na
|
|
|
+ <acronym>API</acronym> Reflection do <acronym>PHP</acronym> 5, acrescentado com métodos
|
|
|
+ para recuperar parâmetros e retornar tipos de valor e descrições, uma lista completa
|
|
|
+ dos protótipos de funções e métodos (ex.: todas as possíveis combinações de chamada
|
|
|
+ válidas), e as descrições de funções e métodos.
|
|
|
+ </para>
|
|
|
+ <para>
|
|
|
+ Normalmente, esta funcionalidade só será usada por desenvolvedores de classes de
|
|
|
+ servidor para o framework.
|
|
|
+ </para>
|
|
|
+ </sect2>
|
|
|
+ <sect2 id="zend.server.reflection.usage">
|
|
|
+ <title>Utilização</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ O uso básico é simples:
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$class = Zend_Server_Reflection::reflectClass('My_Class');
|
|
|
+$function = Zend_Server_Reflection::reflectFunction('my_function');
|
|
|
+
|
|
|
+// Obter protótipos
|
|
|
+$prototypes = $reflection->getPrototypes();
|
|
|
+
|
|
|
+// Repetir o laço através de cada protótipo da função
|
|
|
+foreach ($prototypes as $prototype) {
|
|
|
+
|
|
|
+ // Obter o tipo de retorno do protótipo
|
|
|
+ echo "Tipo de retorno: ", $prototype->getReturnType(), "\n";
|
|
|
+
|
|
|
+ // Get prototype parameters
|
|
|
+ $parameters = $prototype->getParameters();
|
|
|
+
|
|
|
+ echo "Parâmetros: \n";
|
|
|
+ foreach ($parameters as $parameter) {
|
|
|
+ // Obter tipo do parâmetro
|
|
|
+ echo " ", $parameter->getType(), "\n";
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Obter namespace para uma classe, função ou método.
|
|
|
+// Namespaces podem ser definidos em tempo de instanciação
|
|
|
+// (segundo argumento), ou usando setNamespace()
|
|
|
+$reflection->getNamespace();
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ <methodname>reflectFunction()</methodname> retorna um objeto
|
|
|
+ <classname>Zend_Server_Reflection_Function</classname>; <code>reflectClass</code>
|
|
|
+ retorna um objeto <classname>Zend_Server_Reflection_Class</classname>. Consulte a
|
|
|
+ documentação da <acronym>API</acronym> para ver quais métodos estão
|
|
|
+ disponíveis para cada um.
|
|
|
+ </para>
|
|
|
+ </sect2>
|
|
|
+</sect1>
|
|
|
+<!--
|
|
|
+vim:se ts=4 sw=4 et:
|
|
|
+-->
|