jf/php-generator

Generador de código PHP.

5.0.1 2024-03-07 23:02 UTC

README

Generador de código PHP.

Instalación

Composer

Este proyecto usa como gestor de dependencias Composer el cual puede ser instalado siguiendo las instrucciones especificadas en la documentación oficial del proyecto.

Para instalar el paquete jf/php-generator usando este manejador de paquetes se debe ejecutar:

composer require jf/php-generator

Dependencias

Cuando el proyecto es instalado, adicionalmente se instalan las siguientes dependencias:

PaqueteVersión
jf/assert^3.1
jf/base^4.0
jf/collection^2.0
psr/log^3.0

Control de versiones

Este proyecto puede ser instalado usando git. Primero se debe clonar el proyecto y luego instalar las dependencias:

git clone https://www.gitlab.com/jfphp/jfPhpGenerator.git
cd jfPhpGenerator
composer install

Archivos disponibles

Clases

NombreDescripción
jf\php\generator\ABaseClase base para el resto de clases del proyecto.
jf\php\generator\AttributeRepresenta un atributo de PHP.
jf\php\generator\ClassObjectGenera una clase.
jf\php\generator\ClassnameRenderiza cada uno de los items que representan un nombre de clase.
jf\php\generator\EnumObjectGenera una enumeración.
jf\php\generator\ExceptionExcepciones lanzadas por la aplicación.
jf\php\generator\FileClase para manipular archivos.
jf\php\generator\FormatterClase con utilidades para manipular textos.
jf\php\generator\FunctionItemGenera una función de PHP.
jf\php\generator\GeneratorClase para manipular archivos.
jf\php\generator\HelpersClase con métodos de ayuda para realizar diversas operaciones.
jf\php\generator\InterfaceObjectGenera una interfaz.
jf\php\generator\MethodMétodo de una clase.
jf\php\generator\ParamParámetro de un método.
jf\php\generator\PropertyPropiedad de una clase.
jf\php\generator\TagRepresenta una etiqueta para documentar un elemento.
jf\php\generator\TagsRepresenta un grupo de etiquetas para documentar un elemento.
jf\php\generator\TraitItemRenderiza cada uno de los items que representan un trait y que generan las sentencias use XXXX; en la definición de las clases.
jf\php\generator\TraitMethodRepresenta un método de un trait que se usa y que debe ser renombrado para evitar una colisión.
jf\php\generator\TraitObjectGenera un trait.
jf\php\generator\VariableRepresenta una variable PHP.
jf\php\generator\collection\ACollectionClase base de las colecciones.
jf\php\generator\collection\AttributesColección de atributos.
jf\php\generator\collection\ClassesColección de clases.
jf\php\generator\collection\ClassnamesColección de nombres de clases.
jf\php\generator\collection\FunctionsColección de funciones.
jf\php\generator\collection\MethodsColección de métodos de una clase.
jf\php\generator\collection\ParamsColección de parámetros de un método o función.
jf\php\generator\collection\PropertiesColección de propiedades de una clase.
jf\php\generator\collection\TraitItemsColección de traits que se agregan a un elemento.
jf\php\generator\collection\TraitMethodsColección de traits que se agregan a una clases o trait.

Enumeraciones

NombreDescripción
jf\php\generator\ObjectTypeEnumera los tipos de elementos que se pueden crear.

Interfaces

NombreDescripción
jf\php\generator\IAttributesInterfaz para las clases que requieren gestionar los atributos.
jf\php\generator\IExtendsInterfaz para las clases que requieren gestionar los elementos de los que extiende la clase o interfaz.
jf\php\generator\IGeneratorInterfaz para los elementos que generan código tales como clases, enumeraciones, interfaces y traits.
jf\php\generator\IImplementsInterfaz para las clases que requieren gestionar los elementos que implementa la clase.
jf\php\generator\IMethodsInterfaz para las clases que requieren gestionar los métodos.
jf\php\generator\IParamsInterfaz para las clases que requieren gestionar los parámetros del método.
jf\php\generator\IPropertiesInterfaz para las clases que requieren gestionar las propiedades.
jf\php\generator\ITraitsInterfaz para las clases que requieren gestionar los traits.
jf\php\generator\IUsesInterfaz para aquellas clases cuyo contenido que pueden hacer referencia a otros elementos en otros espacios de nombres.

Traits

NombreDescripción
jf\php\generator\TAttributesGestiona los atributos del elemento.
jf\php\generator\TCollectionItemTrait para los elementos que se gestionan mediante las colecciones.
jf\php\generator\TDescriptionGestiona la descripción del elemento.
jf\php\generator\TDocDescriptionDocumenta el elemento agregando su descripción.
jf\php\generator\TDocTagsGestiona las etiquetas PHPDoc del elemento.
jf\php\generator\TDocTypeDocumenta el tipo de datos de un elemento.
jf\php\generator\TExtendsGestiona los elementos de los que extiende la clase o interfaz del elemento.
jf\php\generator\TFileTrait para manipular archivos.
jf\php\generator\TGeneratorTrait para las clases que generan código de elementos tales como clases, enumeraciones, interfaces y traits.
jf\php\generator\TImplementsGestiona los elementos que implementa la clase del elemento.
jf\php\generator\TMethodsGestiona los métodos del elemento.
jf\php\generator\TModifiersModificadores de un elemento.
jf\php\generator\TNameGestiona un nombre que puede pertenecer a un espacio de nombres y tener un alias.
jf\php\generator\TParamsGestiona los parámetros del método del elemento.
jf\php\generator\TPropertiesGestiona las propiedades del elemento.
jf\php\generator\TTagsGestiona las etiquetas PHPDoc del elemento.
jf\php\generator\TTraitsGestiona los traits del elemento.
jf\php\generator\TTranslationsTrait para gestiona las traducciones de los textos.
jf\php\generator\TTypeGestiona el tipo de una variable, propieadad o parámetro.
jf\php\generator\TUsesGestiona los elementos a importar.
jf\php\generator\TValueTrait que gestiona el valor del elemento.
jf\php\generator\collection\TTypeTrait para agregar un tipo por defecto en los elementos de algunas colecciones.

Scripts

scripts/_common.php

Funciones comunes para otros scripts.

Ver archivo scripts/_common.php.

scripts/add-to-generator.php

Agrega la configuración al archivo generator.yaml.

Ver archivo scripts/add-to-generator.php.

scripts/build-config.php

Construye el archivo generator.yaml analizando las clases de un directorio que todavía no lo tenga creado.

Ver archivo scripts/build-config.php.

scripts/coverage

Muestra por pantalla la cobertura de aquellas clases que no llegan al 100% usando la opción -p del visor.

Ver archivo scripts/coverage.

scripts/create-test

Genera los tests básicos a partir del análisis de una clase.

Ver archivo scripts/create-test.

scripts/generate

Genera el código fuente de todo los archivos del repositorio dentro de directorio src.

Ver archivo scripts/generate.

scripts/tests

Realiza pruebas exhaustivas cubriendo el 100% del código. La prueba más completa es la generación del código de todos los archivos del repositorio y comparando el resultado con el contenido del archivo actual.

Ver archivo scripts/tests.