Referencias de Zend_CodeGenerator
Clases Abstractas e Interfaces
Zend_CodeGenerator_Abstract
La clase base desde la cual heredan todos las clases
CodeGenerator proporciona la funcionalidad mínima necesaria.
Su API es la siguiente:
El constructor primero llama a _init()
(que se deja vacía para implementar extenciones a clases
concretas), se pasa entonces el parámetro $options
a setOptions(), y finalmente se llama a
_prepare() (nuevamente, a ser implementada por
extensión de una clase)
Al igual que la mayoría de las clases en Zend Framework,
setOptions() compara una opción clave con setters
existentes en la clase, y pasa el valor de ese método
si lo encuentra.
__toString() es marcado como final, y proxies a
generate().
setSourceContent() y
getSourceContent() están destinados ya sea para
fijar el valor por defecto del contenido para el código a ser
generado, o para sustituir dicho contenido una vez que se
completen todas las tareas de generación.
Zend_CodeGenerator_Php_Abstract
Zend_CodeGenerator_Php_Abstract extiende
Zend_CodeGenerator_Abstract, y añade
algunas propiedades para localizar su contenido si es que ha
cambiado, así como el nivel de identación que debe aparecer
antes del contenido generado. Su API es la siguiente:
Zend_CodeGenerator_Php_Member_Abstract
Zend_CodeGenerator_Php_Member_Abstract
es una clase base para generar los miembros de clase --
propiedades y métodos -- y brinda accesos y mutadores para
establecer visibilidad; ya sea el miembro abstracto o no,
estático o definitivo; y el nombre del miembro.
Su API es la siguiente:
Clases Concretas de CodeGenerator
Zend_CodeGenerator_Php_Body
Zend_CodeGenerator_Php_Body se destina
para generar código procedural arbitrario para incluir dentro
de un archivo. Como tal, usted simplemente establece contenidos
para el objeto, y éste devolverá el contenido cuando usted
invoque a generate().
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_Class
Zend_CodeGenerator_Php_Class Está
destinado a generar clases PHP. La funcionalidad básica sólo
genera la clase PHP en si misma, así como opcionalmente el PHP
DocBlock. Las clases pueden implementarse o heredarse de otras
clases, y pueden ser marcadas como abstractas.
Utilizando otras clases generadoras de código, también puede
agregar constantes de clase, propiedades y métodos.
La API de la clase es la siguiente:
El método setProperty() acepta un array de
información que puede ser utilizada para generar una instancia
Zend_CodeGenerator_Php_Property -- o
simplemente una instancia de
Zend_CodeGenerator_Php_Property.
Análogamente, setMethod() acepta o un array de
información para generar una instancia de
Zend_CodeGenerator_Php_Method o una
instancia concreta de esa clase.
Se debe observar que setDocBlock() espera una
instancia de
Zend_CodeGenerator_Php_DocBlock.
Zend_CodeGenerator_Php_Docblock
Zend_CodeGenerator_Php_Docblock puede
ser utilizada para generar PHP docblocks arbitrarios,
incluidas todas las características estándar de docblock:
descripciones cortas y largas y además los tags de anotaciones.
Los tags de anotación pueden establecerse utilizando los métodos
setTag() y setTags(); cada una de
estas toman o un array describiendo el tag que puede ser pasado
al constructor
Zend_CodeGenerator_Php_Docblock_Tag, o
una instancia de esa clase.
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_Docblock_Tag
Zend_CodeGenerator_Php_Docblock_Tag está
destinado a crear tags de anotaciones arbitrarias
para su inclusión en PHP docblocks.
Se espera que los tags (etiquetas) contengan un nombre
(la porción que sigue inmediatamente después del símbolo '@')
y una descripción (todo lo que sigue después del nombre del
tag).
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_DocBlock_Tag_Param
Zend_CodeGenerator_Php_DocBlock_Tag_Param
es una versión especializada de
Zend_CodeGenerator_Php_DocBlock_Tag,
y representa un parámetro del método.
El nombre del tag es por lo tanto ("param"), pero debido
al formato de este tag de anotación, es necesaria información
adicional a fin de generarla: el nombre del parámetro y el tipo
de datos que representa.
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_DocBlock_Tag_Return
Al igual la variante del tag docblock,
Zend_CodeGenerator_Php_Docblock_Tab_Return
es una variante de un tag de anotación para representar el
valor de retorno del método. En este caso, el nombre del tag de
anotación es conocido ("return"), pero requiere un tipo de
retorno.
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_File
Zend_CodeGenerator_Php_File se utiliza
para generar el contenido íntegro de un archivo que contiene
código PHP. El archivo puede contener clases o código PHP
arbitrario, así como un archivo de nivel docblock si así lo
desea.
Cuando se agregan clases al archivo, necesitará pasar o un
array de información para pasar al constructor
Zend_CodeGenerator_Php_Class, o una
instancia de esa clase. De manera similar, con docblocks,
usted tendrá que pasar información para que lo consuma
el constructor
Zend_CodeGenerator_Php_Docblock
o una instancia de la clase.
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_Member_Container
Zend_CodeGenerator_Php_Member_Container
es usado internamente por
Zend_CodeGenerator_Php_Class
para seguir la pista de los los miembros de la clase --
a propiedades y métodos por igual. Estos están indexados por
nombre, utilizando las instancias concretas de los miembros
como valores.
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_Method
Zend_CodeGenerator_Php_Method describe
un método de clase, y puede generar tanto el código y el
docblock para el método. La visibilidad y condición estática,
abstracta, o se puede indicar como final, por su clase padre,
Zend_CodeGenerator_Php_Member_Abstract.
Finalmente, pueden especificarse los parámetros y valor de
retorno para el método.
Pueden establecerse los parámetros usando
setParameter() o setParameters().
En cada caso, un parámetro debe ser un array de información
para pasar al constructor
Zend_CodeGenerator_Php_Parameter o una
instancia de esa clase.
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_Parameter
Zend_CodeGenerator_Php_Parameter
puede ser utilizada para especificar parámetros del método.
Cada parámetro puede tener una posición (si no están
especificados, se usarán en el orden que estén registrados en
el método), son oblogatorios un valor por defecto, un tipo de
datos y un nombre de parámetro.
La API de la clase es la siguiente:
Zend_CodeGenerator_Php_Property
Zend_CodeGenerator_Php_Property describe
una propiedad de clase, que puede ser tanto una constante o una
variable. En cada caso, la propiedad puede tener un valor
predeterminado asociado con ella. Además, la visibilidad de
las propiedades de la variable puede ser establecida por la
clase padre,
Zend_CodeGenerator_Php_Member_Abstract.
La API de la clase es la siguiente: