jf / base
Repositorios con clases y traits de utilidad para realizar composición y/o herencia.
4.0.0
2024-12-16 11:09 UTC
Requires
None
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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
| Nombre | Descripción |
|---|---|
| 📖 jf\Base\AAssign | Clase 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\AAssignExtras | Clase 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\ABase | Clase que puede ser usada como base para algunos proyectos que implementa Stringable y aporta un método new. |
| 📖 jf\Base\ArrayObject | Clase usada donde es requerido un objeto de tipo \ArrayObject pero que implemente jf\Base\Interface\IAssign y jf\Base\Interface\IToArray. |
| 📖 jf\Base\Cache\Directory | Gestiona el uso de un directorio como caché de elementos. |
| 📖 jf\Base\Cache\Memory | Gestiona un caché de elementos en memoria. |
| 📖 jf\Base\Error\Assert | Aserciones del paquete jf\Base. |
| 📖 jf\Base\Error\Exception | Clase genérica para mostrar errores que al extender de \Exception puede ser lanzada como excepción. |
| 📖 jf\Base\File\Config | Gestión básica de un archivo de configuración. |
| 📖 jf\Base\File\File | Lee/escribe contenido desde/a un archivo. |
| 📖 jf\Base\File\Filesystem | Clase para trabajar con el sistema de archivos. |
| 📖 jf\Base\File\Json | Clase que sirve de base para aquellos objetos que hacen uso intenso de archivos JSON. |
| 📖 jf\Base\File\ReadWrite | Lee/escribe desde/a un archivo. |
| 📖 jf\Base\File\Reader | Gestiona la lectura de un archivo. |
| 📖 jf\Base\File\Serialize | Gestiona un archivo de datos serializados usando las funciones de PHP serialize y unserialize. |
| 📖 jf\Base\File\Writer | Gestiona la escritura en un archivo. |
| 📖 jf\Base\File\Yaml | Clase que sirve de base para aquellos objetos que hacen uso intenso de archivos YAML. |
| 📖 jf\Base\Formatter\AIntl | Clase base de los formateadores que usan el módulo intl. |
| 📖 jf\Base\Formatter\Date | Formateador de fechas usando el módulo intl. |
| 📖 jf\Base\Formatter\Formatter | Formateador de valores. |
| 📖 jf\Base\Formatter\Message | Formateador de mensajes de texto usando el módulo intl. |
| 📖 jf\Base\Formatter\Number | Formateador de números usando el módulo intl. |
| 📖 jf\Base\Formatter\Renderer | Renderizador de valores. |
| 📖 jf\Base\Logger | Logger 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\Resolver | Resuelve nombres de clases que se reciben en un array de configuración y crea las instancias si es necesario. |
| 📖 jf\Base\Serializable\ASerializable | Clase base para aquellos objetos que necesitan serialización. |
| 📖 jf\Base\Serializable\Serializer | Serializador simple con soporte para los tipos de datos básicos de PHP para convertir valores en escalares o arrays. |
| 📖 jf\Base\String\Box | Renderiza textos encerrados en un recuadro y tablas simples. |
| 📖 jf\Base\String\Php | Renderizador simple de plantillas haciendo uso de PHP incrustado. |
| 📖 jf\Base\String\Tokenizer | Tokeniza un texto de una línea como si fuera una etiqueta con atributos. |
| 📖 jf\Base\String\Tpl | Renderiza plantillas de textos sencillas. |
| 📖 jf\Base\String\Uuid | Generador UUIDs versiones 3 y 5. |
Enumerados
| Nombre | Descripción |
|---|---|
| 📖 jf\Base\Enum\Box | Enumerado con juego de caracteres para generar recuadros y tablas. |
| 📖 jf\Base\Enum\Color | Enumerado con los colores y sus respectivos códigos ANSI para la consola. |
| 📖 jf\Base\Enum\Comparison | Enumerado con los diversos tipos de comparaciones que se pueden realizar. |
| 📖 jf\Base\Enum\Gender | Género de una persona, palabra o cosa. |
| 📖 jf\Base\Enum\Logical | Operadores lógicos. |
Interfaces
| Nombre | Descripción |
|---|---|
| 📖 jf\Base\Cache\ICache | Interfaz para gestionar un caché simple. |
| 📖 jf\Base\Enum\IEnum | Interfaz con métodos comunes a los enumerados. |
| 📖 jf\Base\Enum\IFlag | Interfaz para enumerados de tipo entero usados como máscara de bits. |
| 📖 jf\Base\File\IPathInfo | Interfaz para encapsular las llamadas a pathinfo(). |
| 📖 jf\Base\File\ISerializable | Interfaz para las clases que gestionan archivos para la de/serialización de datos. |
| 📖 jf\Base\Formatter\IFormatValue | Interfaz 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\IHasRenderer | Interfaz para gestionar el renderizador usado por la clase. |
| 📖 jf\Base\Formatter\IRenderer | Interfaz para los renderizadores de cualquier tipo de valor convirtiéndolo en texto. |
| 📖 jf\Base\Interface\IArray | Interface que permite implementar las interfaces ArrayAccess, Countable e Iterator en una clase que se quiera usar como un array. |
| 📖 jf\Base\Interface\IAssign | Interfaz para detectar el uso de los métodos assign y fromArray. |
| 📖 jf\Base\Interface\IBuilder | Interfaz genérica para las clases constructoras. |
| 📖 jf\Base\Interface\IClass | Interfaz para obtener el nombre de la clase y su espacio de nombres. |
| 📖 jf\Base\Interface\ICode | Interfaz para gestionar el código que identifica al elemento. |
| 📖 jf\Base\Interface\ICodec | Interfaz para los codificadores y decodificadores de datos. |
| 📖 jf\Base\Interface\IContent | Interfaz para gestionar el contenido de la instancia. |
| 📖 jf\Base\Interface\IDasherize | Interfaz para obtener el nombre de la clase y/o su espacio de nombre en formato kebab-case. |
| 📖 jf\Base\Interface\IFooters | Interfaz para gestionar las líneas al final del contenido. |
| 📖 jf\Base\Interface\IHasLogger | Interfaz para gestionar el gestor del registro usado por la clase. |
| 📖 jf\Base\Interface\IHeaders | Interfaz para gestionar las líneas al inicio del contenido. |
| 📖 jf\Base\Interface\IId | Interfaz para gestionar el identificador del elemento. |
| 📖 jf\Base\Interface\IItems | Interfaz para las clases que gestionan un listado de elementos. |
| 📖 jf\Base\Interface\IMultiSingleton | Interfaz para los singletons de clases heredadas. |
| 📖 jf\Base\Interface\IName | Interfaz para gestionar el nombre del elemento. |
| 📖 jf\Base\Interface\IParent | Interfaz para gestionar la instancia padre o propietaria de la actual. |
| 📖 jf\Base\Interface\IPascalize | Interfaz para convertir un texto a formato PascalCase. |
| 📖 jf\Base\Interface\IRandomizer | Interfaz para generar valores aleatorios. |
| 📖 jf\Base\Interface\IReadWrite | Interface para gestionar la lectura y escritura de archivos. |
| 📖 jf\Base\Interface\IReader | Interface para gestionar la lectura de archivos. |
| 📖 jf\Base\Interface\IRenderItems | Interfaz para las clases que gestionan un listado de elementos y los renderizan. |
| 📖 jf\Base\Interface\ISingleton | Interfaz para los singletons. |
| 📖 jf\Base\Interface\IStringable | Interfaz 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\IToArray | Interfaz para detectar el uso del método toArray y poder serializar un objeto. |
| 📖 jf\Base\Interface\ITranslatable | Interfaz para marcar aquellos objetos que necesiten traducir los valores presentes en sus propiedades. |
| 📖 jf\Base\Interface\IWriter | Interface para gestionar la escritura de archivos. |
| 📖 jf\Base\Serializable\IGetSerializer | Interfaz para obtener el serializador usado por la clase. |
| 📖 jf\Base\Serializable\IHasSerializer | Interfaz para gestionar el serializador usado por la clase. |
| 📖 jf\Base\Serializable\ISerializer | Interface para los serializadores. |
Traits
| Nombre | Descripción |
|---|---|
| 📖 jf\Base\Cache\TCache | Trait que implementa la interfaz jf\Base\Cache\ICache. |
| 📖 jf\Base\Enum\TEnum | Trait que implementa la interfaz jf\Base\Enum\IEnum. |
| 📖 jf\Base\Enum\TFlag | Trait que implementa la interfaz jf\Base\Enum\IFlag. |
| 📖 jf\Base\Error\TArray | Trait para realizar aserciones sobre arrays. |
| 📖 jf\Base\Error\TFilesystem | Trait para realizar aserciones sobre el sistema de archivo o wrappers. |
| 📖 jf\Base\Error\TIs | Trait para realizar aserciones sobre tipos de datos y valores escalares. |
| 📖 jf\Base\Error\TString | Trait para realizar aserciones sobre cadenas de texto. |
| 📖 jf\Base\File\TFile | Agrega funcionalidad básica a clases que requieren leer/escribir archivos. |
| 📖 jf\Base\File\TFilename | Trait para manipular el nombre de un archivo. |
| 📖 jf\Base\File\TFilesystem | Métodos para trabajar con el sistema de archivos. |
| 📖 jf\Base\File\TJson | Trait para gestionar archivos JSON. |
| 📖 jf\Base\File\TPathInfo | Trait que implementa la interfaz jf\Base\File\IPathInfo. |
| 📖 jf\Base\File\TReadWrite | Trait para gestionar la lectura y escritura de archivos. |
| 📖 jf\Base\File\TReader | Trait para gestionar la lectura de archivos. |
| 📖 jf\Base\File\TSave | Escribe en disco el contenido de la instancia. |
| 📖 jf\Base\File\TWriter | Trait para gestionar la escritura de archivos. |
| 📖 jf\Base\File\TYaml | Trait para gestionar archivos YAML. |
| 📖 jf\Base\Formatter\TFormatValue | Trait que implementa la interfaz jf\Base\Formatter\IFormatValue. |
| 📖 jf\Base\Formatter\THasRenderer | Gestiona el renderizador usado por la clase. |
| 📖 jf\Base\Formatter\TRenderer | Trait que implementa la interfaz jf\Base\Formatter\IRenderer. |
| 📖 jf\Base\Parser\TArray | Trait para las clases que tienen propiedades de tipo arrayeano. |
| 📖 jf\Base\Parser\TAssign | Trait para las clases que tienen propiedades que son objetos que implementan jf\Base\Interface\IAssign. |
| 📖 jf\Base\Parser\TBool | Trait para las clases que tienen propiedades de tipo booleano. |
| 📖 jf\Base\Parser\TClassString | Trait para las clases que tienen propiedades que almacenan nombres de clases. |
| 📖 jf\Base\Parser\TDateTime | Trait para las clases que tienen propiedades que almacenan fechas. |
| 📖 jf\Base\Parser\TEnum | Trait para las clases que tienen propiedades que son enumerados. |
| 📖 jf\Base\Parser\TFloat | Trait para las clases que tienen propiedades de tipo coma flotante. |
| 📖 jf\Base\Parser\TInt | Trait para las clases que tienen propiedades de tipo entero. |
| 📖 jf\Base\Parser\TJson | Trait para las clases que tienen propiedades que pueden venir desde un string con formato JSON. |
| 📖 jf\Base\Parser\TString | Trait para las clases que tienen propiedades que almacenan textos. |
| 📖 jf\Base\Serializable\TAssign | Implementa la interfaz jf\Base\Interface\IAssign de manera simple asignando solamente las propiedades sin tomar en consideración los hooks. |
| 📖 jf\Base\Serializable\TGetSerializer | Gestiona el serializador usado por la clase. |
| 📖 jf\Base\Serializable\THasSerializer | Gestiona el serializador usado por la clase. |
| 📖 jf\Base\Serializable\TJson | Trait para serializar datos en formato JSON. |
| 📖 jf\Base\Serializable\TJsonSerializable | Trait que permite implementar la interfaz JsonSerializable. |
| 📖 jf\Base\Serializable\TSerializable | Trait 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\TToArray | Serializa el contenido de la instancia iterando sobre todas las propiedades y devolviendo los valores escalares, nulos y arrays. |
| 📖 jf\Base\Serializable\TYaml | Trait para gestionar datos en formato YAML. |
| 📖 jf\Base\String\TPlaceholders | Trait para gestionar valores de reemplazo y renderizar textos. |
| 📖 jf\Base\Trait\TAssign | Permite asignar propiedades a una instancia a partir de un array. |
| 📖 jf\Base\Trait\TAssignExtras | Permite asignar propiedades a una instancia a partir de un array y almacenar aquellas que no pudieron asignarse. |
| 📖 jf\Base\Trait\TAssignProperties | Permite asignar propiedades a una instancia a partir de un array pero solamente se asignan aquellos nombres que corresponden con propiedades. |
| 📖 jf\Base\Trait\TClass | Trait que implementa la interfaz jf\Base\Interface\IClass. |
| 📖 jf\Base\Trait\TCode | Gestiona el código que identifica al elemento. |
| 📖 jf\Base\Trait\TContent | Trait para gestionar el contenido de una instancia. |
| 📖 jf\Base\Trait\TDasherize | Aporta métodos para obtener el nombre de la clase y/o su espacio de nombre en formato kebab-case. |
| 📖 jf\Base\Trait\TFooters | Trait para gestionar el final del contenido. |
| 📖 jf\Base\Trait\TFromArray | Permite inicializar una instancia a partir de un array. |
| 📖 jf\Base\Trait\THasLogger | Gestiona el gestor del registro usado por la clase. |
| 📖 jf\Base\Trait\THasReadonlyLogger | Trait que implementa la interfaz jf\Base\Interface\IHasLogger. |
| 📖 jf\Base\Trait\THeaders | Trait para los encabezados de un contenido. |
| 📖 jf\Base\Trait\TId | Gestiona el identificador del elemento. |
| 📖 jf\Base\Trait\TMultiSingleton | Permite obtener un singleton diferente para instancias de clases hijas. |
| 📖 jf\Base\Trait\TName | Gestiona el nombre del elemento. |
| 📖 jf\Base\Trait\TOffset | Trait para calcular el offset en las clases que aceptan el formato [from:to] para acceder a los valores. |
| 📖 jf\Base\Trait\TParent | Gestiona la instancia padre o propietaria de la actual. |
| 📖 jf\Base\Trait\TPascalize | Trait que implementa la interfaz jf\Base\Interface\IPascalize. |
| 📖 jf\Base\Trait\TProtected | Convierte en protegidos algunos métodos de una clase o los agrega vacíos para que no realicen ninguna operación. |
| 📖 jf\Base\Trait\TRandomizer | Trait que implementa la interfaz jf\Base\Interface\IRandomizer. |
| 📖 jf\Base\Trait\TSingleton | Contiene algunos métodos y propiedades útiles en las clases diseñadas como singleton. |
| 📖 jf\Base\Trait\TStringable | Trait que implementa la interfaz Stringable. |
| 📖 jf\Base\Trait\TToArray | Serializa el contenido de la instancia iterando sobre todas las propiedades y analizando sus valores. |
Diagrama
Generado con ❤️ usando jfGeneratorDoc 0.1.0