当前位置:首页>php>PHP 强类型统一数据处理框架 Flow

PHP 强类型统一数据处理框架 Flow

  • 2026-09-02 19:04:16
PHP 强类型统一数据处理框架 Flow

前言:最近看到一个PHP 新的 RFC。是有关在 PHP 应用中,深度嵌套数组非常常见,尤其是在处理配置数据、解码的 JSON 负载、请求数据、框架元数据或其他动态结构时的RFC。

RFC链接:https://wiki.php.net/rfc/array_get_and_array_has。于是乎就发现了下面这个好用的数据处理框架 Flow

简介

Flow 是一个基于 PHP 的、强类型 的数据处理框架,具有极低的内存占用。最先进的数据处理框架,支持构建可扩展的数据处理管道(pipeline),并可在各种数据源与目标之间轻松移动数据。

它专为构建大规模、可扩展的数据处理管道而设计,能帮助你在不同数据源(如数据库、CSV、JSON、数组等)和目标之间高效传输与转换数据。

核心特点

  • 基于 PHP 的强类型数据处理框架,内存占用极低
  • 支持构建高度可扩展的数据处理管道
  • 可在多种数据源和目标之间移动数据
  • 支持操作系统:Linux、macOS、Windows(实验性支持)

快速使用

安装

composer require flow-php/etl

数组示例

直接从 PHP 数组读取数据。当你的数据已经存储在内存中,比如 API 响应或测试夹具时,这非常有用。

<?phpdeclare(strict_types=1);usefunctionFlow\ETL\DSL\{data_frame, from_array, to_output};require__DIR__ . '/vendor/autoload.php';data_frame()    ->read(from_array([        ['id' => 1],        ['id' => 2],        ['id' => 3],        ['id' => 4],        ['id' => 5],    ]))    ->collect()    ->write(to_output(truncate: false))    ->run();

CSV 文件处理

<?phpdeclare(strict_types=1);usefunctionFlow\ETL\Adapter\CSV\{from_csv, to_csv};usefunctionFlow\ETL\DSL\{data_frame, lit, ref, sum, to_output};useFlow\ETL\Filesystem\SaveMode;require__DIR__ . '/vendor/autoload.php';data_frame()    ->read(from_csv(__DIR__ . '/orders_flow.csv'))    ->select('created_at', 'total_price', 'discount')    ->withEntry('created_at', ref('created_at')->cast('date')->dateFormat('Y/m'))    ->withEntry('revenue', ref('total_price')->minus(ref('discount')))    ->select('created_at', 'revenue')    ->groupBy('created_at')    ->aggregate(sum(ref('revenue')))    ->sortBy(ref('created_at')->desc())    ->withEntry('daily_revenue', ref('revenue_sum')->round(lit(2))->numberFormat(lit(2)))    ->drop('revenue_sum')    ->write(to_output(truncate: false))    ->withEntry('created_at', ref('created_at')->toDate('Y/m'))    ->mode(SaveMode::Overwrite)    ->write(to_csv(__DIR__ . '/daily_revenue.csv'))    ->run();

更多了解:https://flow-php.com

最新文章

随机文章