dlunire / dlstorage
Librería de almacenamiento de datos binarios, optimizada para su integración con el framework DLUnire. Permite almacenar, gestionar y recuperar datos en formatos binarios de manera eficiente."version": "v0.1.0"
Installs: 244
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/dlunire/dlstorage
This package is auto-updated.
Last update: 2025-10-30 02:53:54 UTC
README
DLStorage es una biblioteca desarrollada por David E Luna M, creador del proyecto Códigos del Futuro, ahora Código Entrópico como parte del ecosistema del DLUnire Framework. Su objetivo principal es ofrecer una solución eficiente para el almacenamiento y gestión de datos binarios, tanto dentro como fuera del framework.
Guía de uso
Índice de contenido
📌 Propósito
DLStorage permite almacenar, manipular y recuperar datos binarios de forma segura y eficiente. Está especialmente diseñada para escenarios donde se requieren operaciones sobre archivos binarios, como configuraciones, cachés u otros recursos que necesitan persistencia de bajo nivel.
Aunque está optimizada para el framework DLUnire, DLStorage puede utilizarse de manera independiente en cualquier proyecto PHP moderno.
Funcionalidades
- 🔒 Almacenamiento binario estructurado: gestión eficiente de datos binarios.
 - 🔀 Compatibilidad directa con DLUnire Framework.
 - 📈 Diseño escalable y modular, ideal para proyectos de distintos tamaños.
 - 📂 Lectura y escritura optimizada en archivos 
.dlstorage. 
Instalación
Instalación mediante Composer:
composer require dlunire/dlstorage
Composer se encargará de descargar automáticamente todas las dependencias necesarias.
Requisitos
- PHP 8.2 o superior
 - Composer
 - (Opcional) DLUnire Framework para integración directa
 
Documentación
La documentación técnica de las clases principales está disponible en el directorio doc/:
- DataStorage – Documentación base del sistema de almacenamiento binario.
 - SaveData – Clase concreta para guardar y recuperar datos con control de cabecera.
 
Nuevos archivos y módulos serán añadidos conforme avance el desarrollo.
🛠️ Uso
Este proyecto se encuentra en etapa inicial. Las interfaces y métodos pueden cambiar en futuras versiones.
Actualmente, se recomienda revisar los archivos de documentación para entender la estructura y firma de las clases.
🤝 Contribuciones
Se agradece cualquier contribución. Puedes:
- Abrir un pull request.
 - Reportar un issue para errores o sugerencias.
 - Proponer mejoras o nuevas funcionalidades.
 
👤 Autor
David E Luna M – Fundador de Códigos del Futuro y autor del DLUnire Framework.
📧 Contacto: dlunireframework@gmail.com
📄 Licencia
DLStorage está licenciado bajo la MIT License.
📁 Estructura del Proyecto
src/
├─ Storage/       # Clases de almacenamiento principal
├─ Interfaces/    # Interfaces para implementación extensible
doc/
├─ DataStorage.md
├─ SaveData.md
FastArray
FastArray es una clase abstracta de DLStorage que proporciona una interfaz avanzada para manipulación de arrays, integrando iteradores, acceso seguro y métodos inspirados en estructuras de alto nivel.
🗂️ Métodos actuales de FastArray
| Método | Parámetros | Modifica array | Retorno | Descripción | 
|---|---|---|---|---|
__construct(array $data = []) | 
Array inicial opcional | Sí | void | 
Inicializa el array y su longitud. | 
push(mixed $value) | 
Valor a insertar | Sí | void | 
Agrega un elemento al final. | 
pop() | 
— | Sí | mixed | 
Elimina y devuelve el último elemento. | 
shift() | 
— | Sí | mixed | 
Elimina y devuelve el primer elemento. | 
clear() | 
— | Sí | void | 
Vacía el array y reinicia la longitud. | 
get() | 
— | No | array<int,mixed> | 
Devuelve una copia del array interno. | 
length() | 
— | No | int | 
Devuelve la cantidad de elementos. | 
add(array $data) | 
Array de elementos | Sí | void | 
Agrega múltiples elementos al final. | 
item(int $index) | 
Índice a obtener | No | mixed | 
Devuelve un elemento por índice, lanza excepción si es inválido. | 
first() | 
— | No | mixed | 
Devuelve el primer elemento, lanza excepción si está vacío. | 
last() | 
— | No | mixed | 
Devuelve el último elemento, lanza excepción si está vacío. | 
splide(int $offset, ?int $length = null, mixed $replacement = []) | 
Offset, longitud opcional, reemplazo opcional | Sí | FastArray | 
Elimina/reemplaza elementos y devuelve los eliminados en un nuevo FastArray. | 
slice(int $offset, ?int $length = null, bool $preserve_keys = false) | 
Offset, longitud opcional, preserva índices | No | FastArray | 
Devuelve una porción del array como un nuevo FastArray. | 
to_array() | 
— | No | array<int,mixed> | 
Devuelve el array interno crudo. | 
get_iterator() | 
— | No | \Traversable | 
Devuelve un iterador (ArrayIterator) del array interno. | 
getIterator() | 
— | No | \Traversable | 
Implementación de IteratorAggregate, devuelve get_iterator(). | 
🔮 Métodos planeados para futuras versiones
filter(callable $callback): FastArray– Filtra elementos según condición.map(callable $callback): FastArray– Aplica función a cada elemento.reduce(callable $callback, mixed $initial = null): mixed– Reduce a un único valor.unique(): FastArray– Elimina elementos duplicados.shuffle(): FastArray– Reordena elementos aleatoriamente.concat(FastArray|array $other): FastArray– Concatena otro array o FastArray.join(string $glue = ','): string– Devuelve string concatenado de los elementos.contains(mixed $value): bool– Verifica si existe un valor.keys(): FastArray– Devuelve los índices.values(): FastArray– Devuelve los valores.indexOf(mixed $value): int|null– Devuelve el índice de un valor,nullsi no existe.includes(mixed $value): bool– Retornatruesi el valor está contenido.
📌 Notas Finales
- Próximamente se incluirán módulos adicionales como validadores, conversores y controladores de versión de datos.
 - Para soporte personalizado o consultas, contactar al autor vía correo electrónico.