webcraftdg/data-pipeline

Framework-agnostic PHP data pipeline engine for reading, mapping, transforming, processing and writing structured data.

Maintainers

Package info

github.com/webcraftdg/data-pipeline

pkg:composer/webcraftdg/data-pipeline

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.1.0 2026-04-14 13:08 UTC

This package is not auto-updated.

Last update: 2026-04-14 13:10:41 UTC


README

Coverage Maintainability Reliability Security

Moteur générique de transformation de données en PHP.

OBJECTIF

Ce composant permet de transformer des données d'un format à un autre de manière propre, réutilisable et maintenable.

Exemples :

  • CSV → Base de données
  • Base de données → Excel
  • JSON → XML
  • Array → JSON

CONCEPT

Le système repose sur un flux :

Source → Pipeline → Target

Il n'y a pas de notion technique d'import/export, seulement un flux de données.

FONCTIONNEMENT

Le pipeline suit ces étapes :

Input → Mapping → Transformers → Processor → Output

  • Input : lit les données
  • Mapping : renomme les colonnes
  • Transformers : transforme les valeurs
  • Processor : applique la logique métier
  • Output : écrit les données

EXEMPLE COMPLET

$config = new PipelineConfig(
    name: 'users',
    version: 1,
    stopOnError: true,
    source: new SourceConfig('input', 'array', [
        'data' => [
            ['id' => 1, 'name' => 'david', 'email' => 'test@mail.com'],
            ['id' => 2, 'name' => 'jean', 'email' => '']
        ]
    ]),
    target: new TargetConfig('output', 'json', [
        'path' => 'output.json'
    ]),
    columns: [
        new ColumnMapping('id', 'ID'),
        new ColumnMapping('name', 'Name', [
            new TransformerConfig('upper')
        ])
    ],
    processor: new ProcessorConfig('validate-email')
);

$runtime = $runtimeFactory->create($config);
$report = $executor->run($config, $runtime);

Sonar Report