Search by

jf / base

joaquinfq

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

Package info

gitlab.com/jfphp/jfBase

Homepage

pkg:composer/jf/base

Statistics

Installs: 1 372

Dependents: 7

Suggesters: 1

Stars: 0

4.0.0 2024-12-16 11:09 UTC

This package is auto-updated.

Last update: 2026-08-16 13:48:49 UTC


README

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

Instalación

Control de versiones

Este proyecto puede ser descargado usando git. Para ello se debe ejecutar en una consola:

git clone https://www.gitlab.com/jfphp/base.git
cd base

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

Dependencias

Se requiere la versión de PHP >=8.4.

El paquete no tiene dependencias con otros paquetes.

Archivos

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\Interface\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.
📖 jf\Base\ArrayObjectClase usada donde es requerido un objeto de tipo \ArrayObject pero que implemente jf\Base\Interface\IAssign y jf\Base\Interface\IToArray.
📖 jf\Base\Cache\DirectoryGestiona el uso de un directorio como caché de elementos.
📖 jf\Base\Cache\MemoryGestiona un caché de elementos en memoria.
📖 jf\Base\Error\AssertAserciones del paquete jf\Base.
📖 jf\Base\Error\ExceptionClase genérica para mostrar errores que al extender de \Exception puede ser lanzada como excepción.
📖 jf\Base\File\ConfigGestión básica de un archivo de configuración.
📖 jf\Base\File\FileLee/escribe contenido desde/a un archivo.
📖 jf\Base\File\FilesystemClase para trabajar con el sistema de archivos.
📖 jf\Base\File\JsonClase que sirve de base para aquellos objetos que hacen uso intenso de archivos JSON.
📖 jf\Base\File\ReadWriteLee/escribe desde/a un archivo.
📖 jf\Base\File\ReaderGestiona la lectura de un archivo.
📖 jf\Base\File\SerializeGestiona un archivo de datos serializados usando las funciones de PHP serialize y unserialize.
📖 jf\Base\File\WriterGestiona la escritura en un archivo.
📖 jf\Base\File\YamlClase que sirve de base para aquellos objetos que hacen uso intenso de archivos YAML.
📖 jf\Base\Formatter\AIntlClase base de los formateadores que usan el módulo intl.
📖 jf\Base\Formatter\DateFormateador de fechas usando el módulo intl.
📖 jf\Base\Formatter\FormatterFormateador de valores.
📖 jf\Base\Formatter\MessageFormateador de mensajes de texto usando el módulo intl.
📖 jf\Base\Formatter\NumberFormateador de números usando el módulo intl.
📖 jf\Base\Formatter\RendererRenderizador de valores.
📖 jf\Base\LoggerLogger simple para usarlo en aquellas clases que requieran uno pero no se quiera tener como dependencia el paquete jf/log o algún otro.
📖 jf\Base\Parser\ResolverResuelve nombres de clases que se reciben en un array de configuración y crea las instancias si es necesario.
📖 jf\Base\Serializable\ASerializableClase base para aquellos objetos que necesitan serialización.
📖 jf\Base\Serializable\SerializerSerializador simple con soporte para los tipos de datos básicos de PHP para convertir valores en escalares o arrays.
📖 jf\Base\String\BoxRenderiza textos encerrados en un recuadro y tablas simples.
📖 jf\Base\String\PhpRenderizador simple de plantillas haciendo uso de PHP incrustado.
📖 jf\Base\String\TokenizerTokeniza un texto de una línea como si fuera una etiqueta con atributos.
📖 jf\Base\String\TplRenderiza plantillas de textos sencillas.
📖 jf\Base\String\UuidGenerador UUIDs versiones 3 y 5.

Enumerados

NombreDescripción
📖 jf\Base\Enum\BoxEnumerado con juego de caracteres para generar recuadros y tablas.
📖 jf\Base\Enum\ColorEnumerado con los colores y sus respectivos códigos ANSI para la consola.
📖 jf\Base\Enum\ComparisonEnumerado con los diversos tipos de comparaciones que se pueden realizar.
📖 jf\Base\Enum\GenderGénero de una persona, palabra o cosa.
📖 jf\Base\Enum\LogicalOperadores lógicos.

Interfaces

NombreDescripción
📖 jf\Base\Cache\ICacheInterfaz para gestionar un caché simple.
📖 jf\Base\Enum\IEnumInterfaz con métodos comunes a los enumerados.
📖 jf\Base\Enum\IFlagInterfaz para enumerados de tipo entero usados como máscara de bits.
📖 jf\Base\File\IPathInfoInterfaz para encapsular las llamadas a pathinfo().
📖 jf\Base\File\ISerializableInterfaz para las clases que gestionan archivos para la de/serialización de datos.
📖 jf\Base\Formatter\IFormatValueInterfaz para formatear los valores devueltos por los tipos soportados por PHP, Se incluyen aquellos tipos devueltos por la función gettype y algunas clases de PHP con tipos básicos.
📖 jf\Base\Formatter\IHasRendererInterfaz para gestionar el renderizador usado por la clase.
📖 jf\Base\Formatter\IRendererInterfaz para los renderizadores de cualquier tipo de valor convirtiéndolo en texto.
📖 jf\Base\Interface\IArrayInterface que permite implementar las interfaces ArrayAccess, Countable e Iterator en una clase que se quiera usar como un array.
📖 jf\Base\Interface\IAssignInterfaz para detectar el uso de los métodos assign y fromArray.
📖 jf\Base\Interface\IBuilderInterfaz genérica para las clases constructoras.
📖 jf\Base\Interface\IClassInterfaz para obtener el nombre de la clase y su espacio de nombres.
📖 jf\Base\Interface\ICodeInterfaz para gestionar el código que identifica al elemento.
📖 jf\Base\Interface\ICodecInterfaz para los codificadores y decodificadores de datos.
📖 jf\Base\Interface\IContentInterfaz para gestionar el contenido de la instancia.
📖 jf\Base\Interface\IDasherizeInterfaz para obtener el nombre de la clase y/o su espacio de nombre en formato kebab-case.
📖 jf\Base\Interface\IFootersInterfaz para gestionar las líneas al final del contenido.
📖 jf\Base\Interface\IHasLoggerInterfaz para gestionar el gestor del registro usado por la clase.
📖 jf\Base\Interface\IHeadersInterfaz para gestionar las líneas al inicio del contenido.
📖 jf\Base\Interface\IIdInterfaz para gestionar el identificador del elemento.
📖 jf\Base\Interface\IItemsInterfaz para las clases que gestionan un listado de elementos.
📖 jf\Base\Interface\IMultiSingletonInterfaz para los singletons de clases heredadas.
📖 jf\Base\Interface\INameInterfaz para gestionar el nombre del elemento.
📖 jf\Base\Interface\IParentInterfaz para gestionar la instancia padre o propietaria de la actual.
📖 jf\Base\Interface\IPascalizeInterfaz para convertir un texto a formato PascalCase.
📖 jf\Base\Interface\IRandomizerInterfaz para generar valores aleatorios.
📖 jf\Base\Interface\IReadWriteInterface para gestionar la lectura y escritura de archivos.
📖 jf\Base\Interface\IReaderInterface para gestionar la lectura de archivos.
📖 jf\Base\Interface\IRenderItemsInterfaz para las clases que gestionan un listado de elementos y los renderizan.
📖 jf\Base\Interface\ISingletonInterfaz para los singletons.
📖 jf\Base\Interface\IStringableInterfaz para detectar aquellas clases que se pueden convertir a string pero que no aceptan la interfaz Stringable o que se le quiere dar un uso diferente al método __toString().
📖 jf\Base\Interface\IToArrayInterfaz para detectar el uso del método toArray y poder serializar un objeto.
📖 jf\Base\Interface\ITranslatableInterfaz para marcar aquellos objetos que necesiten traducir los valores presentes en sus propiedades.
📖 jf\Base\Interface\IWriterInterface para gestionar la escritura de archivos.
📖 jf\Base\Serializable\IGetSerializerInterfaz para obtener el serializador usado por la clase.
📖 jf\Base\Serializable\IHasSerializerInterfaz para gestionar el serializador usado por la clase.
📖 jf\Base\Serializable\ISerializerInterface para los serializadores.

Traits

NombreDescripción
📖 jf\Base\Cache\TCacheTrait que implementa la interfaz jf\Base\Cache\ICache.
📖 jf\Base\Enum\TEnumTrait que implementa la interfaz jf\Base\Enum\IEnum.
📖 jf\Base\Enum\TFlagTrait que implementa la interfaz jf\Base\Enum\IFlag.
📖 jf\Base\Error\TArrayTrait para realizar aserciones sobre arrays.
📖 jf\Base\Error\TFilesystemTrait para realizar aserciones sobre el sistema de archivo o wrappers.
📖 jf\Base\Error\TIsTrait para realizar aserciones sobre tipos de datos y valores escalares.
📖 jf\Base\Error\TStringTrait para realizar aserciones sobre cadenas de texto.
📖 jf\Base\File\TFileAgrega funcionalidad básica a clases que requieren leer/escribir archivos.
📖 jf\Base\File\TFilenameTrait para manipular el nombre de un archivo.
📖 jf\Base\File\TFilesystemMétodos para trabajar con el sistema de archivos.
📖 jf\Base\File\TJsonTrait para gestionar archivos JSON.
📖 jf\Base\File\TPathInfoTrait que implementa la interfaz jf\Base\File\IPathInfo.
📖 jf\Base\File\TReadWriteTrait para gestionar la lectura y escritura de archivos.
📖 jf\Base\File\TReaderTrait para gestionar la lectura de archivos.
📖 jf\Base\File\TSaveEscribe en disco el contenido de la instancia.
📖 jf\Base\File\TWriterTrait para gestionar la escritura de archivos.
📖 jf\Base\File\TYamlTrait para gestionar archivos YAML.
📖 jf\Base\Formatter\TFormatValueTrait que implementa la interfaz jf\Base\Formatter\IFormatValue.
📖 jf\Base\Formatter\THasRendererGestiona el renderizador usado por la clase.
📖 jf\Base\Formatter\TRendererTrait que implementa la interfaz jf\Base\Formatter\IRenderer.
📖 jf\Base\Parser\TArrayTrait para las clases que tienen propiedades de tipo arrayeano.
📖 jf\Base\Parser\TAssignTrait para las clases que tienen propiedades que son objetos que implementan jf\Base\Interface\IAssign.
📖 jf\Base\Parser\TBoolTrait para las clases que tienen propiedades de tipo booleano.
📖 jf\Base\Parser\TClassStringTrait para las clases que tienen propiedades que almacenan nombres de clases.
📖 jf\Base\Parser\TDateTimeTrait para las clases que tienen propiedades que almacenan fechas.
📖 jf\Base\Parser\TEnumTrait para las clases que tienen propiedades que son enumerados.
📖 jf\Base\Parser\TFloatTrait para las clases que tienen propiedades de tipo coma flotante.
📖 jf\Base\Parser\TIntTrait para las clases que tienen propiedades de tipo entero.
📖 jf\Base\Parser\TJsonTrait para las clases que tienen propiedades que pueden venir desde un string con formato JSON.
📖 jf\Base\Parser\TStringTrait para las clases que tienen propiedades que almacenan textos.
📖 jf\Base\Serializable\TAssignImplementa la interfaz jf\Base\Interface\IAssign de manera simple asignando solamente las propiedades sin tomar en consideración los hooks.
📖 jf\Base\Serializable\TGetSerializerGestiona el serializador usado por la clase.
📖 jf\Base\Serializable\THasSerializerGestiona el serializador usado por la clase.
📖 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\TPlaceholdersTrait para gestionar valores de reemplazo y renderizar textos.
📖 jf\Base\Trait\TAssignPermite asignar propiedades a una instancia a partir de un array.
📖 jf\Base\Trait\TAssignExtrasPermite asignar propiedades a una instancia a partir de un array y almacenar aquellas que no pudieron asignarse.
📖 jf\Base\Trait\TAssignPropertiesPermite asignar propiedades a una instancia a partir de un array pero solamente se asignan aquellos nombres que corresponden con propiedades.
📖 jf\Base\Trait\TClassTrait que implementa la interfaz jf\Base\Interface\IClass.
📖 jf\Base\Trait\TCodeGestiona el código que identifica al elemento.
📖 jf\Base\Trait\TContentTrait para gestionar el contenido de una instancia.
📖 jf\Base\Trait\TDasherizeAporta métodos para obtener el nombre de la clase y/o su espacio de nombre en formato kebab-case.
📖 jf\Base\Trait\TFootersTrait para gestionar el final del contenido.
📖 jf\Base\Trait\TFromArrayPermite inicializar una instancia a partir de un array.
📖 jf\Base\Trait\THasLoggerGestiona el gestor del registro usado por la clase.
📖 jf\Base\Trait\THasReadonlyLoggerTrait que implementa la interfaz jf\Base\Interface\IHasLogger.
📖 jf\Base\Trait\THeadersTrait para los encabezados de un contenido.
📖 jf\Base\Trait\TIdGestiona el identificador del elemento.
📖 jf\Base\Trait\TMultiSingletonPermite obtener un singleton diferente para instancias de clases hijas.
📖 jf\Base\Trait\TNameGestiona el nombre del elemento.
📖 jf\Base\Trait\TOffsetTrait para calcular el offset en las clases que aceptan el formato [from:to] para acceder a los valores.
📖 jf\Base\Trait\TParentGestiona la instancia padre o propietaria de la actual.
📖 jf\Base\Trait\TPascalizeTrait que implementa la interfaz jf\Base\Interface\IPascalize.
📖 jf\Base\Trait\TProtectedConvierte en protegidos algunos métodos de una clase o los agrega vacíos para que no realicen ninguna operación.
📖 jf\Base\Trait\TRandomizerTrait que implementa la interfaz jf\Base\Interface\IRandomizer.
📖 jf\Base\Trait\TSingletonContiene algunos métodos y propiedades útiles en las clases diseñadas como singleton.
📖 jf\Base\Trait\TStringableTrait que implementa la interfaz Stringable.
📖 jf\Base\Trait\TToArraySerializa el contenido de la instancia iterando sobre todas las propiedades y analizando sus valores.

Diagrama

Diagrama

Generado con ❤️ usando jfGeneratorDoc 0.1.0