jf/base

Repositorios con clases y traits de utilidad para realizar composición y/o herencia.

4.0.1 2024-03-20 22:51 UTC

This package is auto-updated.

Last update: 2024-05-20 22:11:42 UTC


README

Repositorios con clases y traits de utilidad para realizar composición y/o herencia.

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/base usando este manejador de paquetes se debe ejecutar:

composer require jf/base

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/jfBase.git
cd jfBase
composer install

Archivos disponibles

Clases

NombreDescripción
jf\Base\AAssignClase que aporta la misma funcionalidad que jf\Base\ASerializable pero con un método toArray() más potente y que además implementa jf\Base\IAssign para facilitar la asignación de propiedades.
jf\Base\AAssignExtrasClase que aporta la misma funcionalidad que jf\Base\AAsign permitiendo adicionalmente almacenar aquellos valores que se trataron de asignar pero que no corresponden con propiedades de la clase.
jf\Base\ABaseClase que puede ser usada como base para algunos proyectos que implementa Stringable y aporta un método new así algunos métodos para obtener el nombre de la clase en diferentes formatos así como su espacio de nombres.
jf\Base\ExceptionExcepciones del paquete jf/base.
jf\Base\File\FileLee/escribe contenido desde/a un archivo.
jf\Base\File\JsonClase que sirve de base para aquellos objetos que hacen uso intenso de archivos JSON.
jf\Base\File\YamlClase que sirve de base para aquellos objetos que hacen uso intenso de archivos YAML.
jf\Base\Serializable\ASerializableClase base para aquellos objetos que necesitan serialización.

Interfaces

NombreDescripción
jf\Base\IAssignInterfaz para detectar el uso de los métodos assign y fromArray.
jf\Base\IIdInterfaz para los elementos que requieren un identificador.
jf\Base\IParentGestiona el acceso a una instancia padre.
jf\Base\ISingletonInterfaz para los singletons.
jf\Base\IStringableInterfaz para detectar aquellas clases que se pueden convertir a string pero que no aceptan la interfaz Stringable.
jf\Base\IToArrayInterfaz para detectar el uso del método toArray y poder serializar un objeto.

Traits

NombreDescripción
jf\Base\Array\TArrayTrait que permite implementar las interfaces ArrayAccess, Countable, Iterator e IteratorAggregate en una clase que se quiera usar como un array.
jf\Base\Array\TArrayAccessTrait que permite implementar la interfaz ArrayAccess.
jf\Base\Array\TArrayCountableTrait que permite implementar la interfaz Countable.
jf\Base\Array\TArrayIteratorTrait que permite implementar la interfaz Iterator.
jf\Base\Array\TArrayIteratorAggregateTrait que permite implementar la interfaz IteratorAggregate.
jf\Base\File\TFileAgrega funcionalidad básica a clases que requieren leer/escribir archivos.
jf\Base\File\TJsonTrait para gestionar archivos JSON.
jf\Base\File\TYamlTrait para gestionar archivos YAML.
jf\Base\Serializable\TAssignImplementa la interfaz jf\Base\IAssign de manera simple asignando solamente las propiedades.
jf\Base\Serializable\TJsonTrait para serializar datos en formato JSON.
jf\Base\Serializable\TJsonSerializableTrait que permite implementar la interfaz JsonSerializable.
jf\Base\Serializable\TSerializableTrait que permite implementar de manera muy simple y rápida la serialización de objetos en arrays así como inicializar el objeto desde un array.
jf\Base\Serializable\TToArraySerializa el contenido de la instancia iterando sobre todas las propiedades y devolviendo los valores escalares, nulos y arrays.
jf\Base\Serializable\TYamlTrait para gestionar datos en formato YAML.
jf\Base\String\TStringTrait para agrupar todos los traits que gestionan las cadenas de texto como arrays.
jf\Base\String\TStringAccessTrait que permite implementar la interfaz ArrayAccess con una cadena de texto.
jf\Base\String\TStringCountableTrait que permite implementar la interfaz Countable con una cadena de texto.
jf\Base\String\TStringIteratorTrait que permite implementar la interfaz Iterator en una cadena de texto.
jf\Base\String\TStringableTrait simple para implementar la interfaz Stringable devolviendo como texto el nombre dela clase.
jf\Base\TAssignPermite asignar propiedades a una instancia a partir de un array.
jf\Base\TAssignExtrasPermite asignar propiedades a una instancia a partir de un array y almacenar aquellas que no pudieron asignarse.
jf\Base\TClassAporta algunos métodos y propiedades útiles para obtener el nombre de la clase y su espacio de nombres.
jf\Base\TDasherizeAporta métodos para obtener el nombre de la clase y/o su espacio de nombre en formato kebab-case.
jf\Base\TIdPermite implementar la interfaz jf\Base\IId.
jf\Base\TOffsetTrait para calcular el offset en las clases que implementan ArrayAccess y aceptan el formato [from:to] para acceder a los valores.
jf\Base\TParentGestiona el acceso a una instancia padre.
jf\Base\TPascalizeAporta un método para convertir un texto a formato PascalCase.
jf\Base\TSingletonContiene algunos métodos y propiedades útiles en las clases diseñadas como singleton.
jf\Base\TToArraySerializa el contenido de la instancia iterando sobre todas las propiedades y analizando sus valores.