PHPackages                             gerardo-cornejo/batch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gerardo-cornejo/batch

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

gerardo-cornejo/batch
=====================

Biblioteca para procesos batch (por lotes) en proyectos CodeIgniter 4 con patrón Read-Process-Write.

v2.1.9(1mo ago)033↓50%MITPHPPHP &gt;=8.0

Since Nov 12Pushed 1mo agoCompare

[ Source](https://github.com/gerardo-cornejo/batch)[ Packagist](https://packagist.org/packages/gerardo-cornejo/batch)[ RSS](/packages/gerardo-cornejo-batch/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (16)Used By (0)

Innite Batch Library
====================

[](#innite-batch-library)

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/d4b5fa4adf514144779a7864904c5e15236c0e798635240c7f6ce9a455657b80/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e302532422d626c75652e737667)](https://php.net)[![CodeIgniter](https://camo.githubusercontent.com/1688bd8abfa814c522d14c4cce19b623180fa7495706c9682da22aa21f336197/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f646549676e697465722d342e782d6f72616e67652e737667)](https://codeigniter.com)

Biblioteca de Composer para CodeIgniter 4 que proporciona herramientas y estructura para procesos batch (por lotes) con patrones de lectura, procesamiento y escritura.

📋 Descripción
-------------

[](#-descripción)

Esta biblioteca instala automáticamente una estructura de clases base en tu proyecto CodeIgniter 4 para manejar procesos batch, siguiendo el patrón **Read-Process-Write** que es común en el procesamiento por lotes. Además, proporciona clases auxiliares disponibles directamente desde `vendor/` para uso inmediato.

### Componentes incluidos:

[](#componentes-incluidos)

**Clases en tu proyecto (app/):**

- **Reader**: Clase base para leer datos desde diversas fuentes
- **Processor**: Clase base para procesar y transformar los datos
- **Writer**: Clase base para escribir/guardar los resultados
- **Execute**: Comando CLI para ejecutar procesos batch

**Biblioteca disponible desde vendor/:**

- **Optional**: Implementación del patrón Optional de Java para manejo seguro de valores nullable

🚀 Instalación
-------------

[](#-instalación)

### Requisitos

[](#requisitos)

- PHP 8.0 o superior
- CodeIgniter 4.x
- Composer

### Instalar via Composer

[](#instalar-via-composer)

```
composer require gerardo-cornejo/batch
```

Durante la instalación, Composer te pedirá confirmación para ejecutar el plugin:

```
gerardo-cornejo/batch contains a Composer plugin which is currently not in your allow-plugins config.
Do you trust "gerardo-cornejo/batch" to execute code and wish to enable it now? [y,n,d,?] y

```

Escribe **`y`** y presiona Enter. Esto es una medida de seguridad de Composer.

**¡La instalación es completamente automática!** El plugin creará inmediatamente la siguiente estructura en tu proyecto:

```
app/
├── Batch/
│   ├── Reader.php
│   ├── Processor.php
│   └── Writer.php
└── Commands/
    └── Execute.php

```

**Nota:** Los archivos solo se crean si no existen. No se sobrescribirán personalizaciones existentes.

### Configuración permanente (opcional)

[](#configuración-permanente-opcional)

Si no quieres que Composer pregunte cada vez, agrega esto a tu `composer.json` del proyecto:

```
{
    "config": {
        "allow-plugins": {
            "gerardo-cornejo/batch": true
        }
    }
}
```

📁 Uso
-----

[](#-uso)

### Clases Batch en tu Proyecto

[](#clases-batch-en-tu-proyecto)

Las clases se crean en `app/Batch/` para que las personalices según tus necesidades:

### Reader.php

[](#readerphp)

Responsable de leer datos desde diversas fuentes (archivos, bases de datos, APIs, etc.)

```
