flow-php/flow-php-ext
Composer 安装命令:
pie install flow-php/flow-php-ext
包简介
Flow PHP native extension (Rust) - Floe frame-body encoder/decoder for DataFrame Rows
README 文档
README
A PHP extension written in Rust (ext-php-rs) providing
native implementations for performance-critical parts of the Flow DataFrame framework. It encodes and
decodes the frames of the Flow Floe binary format (.floe; the canonical PHP implementation
lives in Flow\Floe in flow-php/etl). Flow\Floe\FloeReader/FloeWriter keep file header/footer
assembly in PHP and delegate frame work to the extension:
$decoder = new Flow\Floe\RowsDecoder(); $decoder->schema($schemaFrameBody); $row = $decoder->row($rowFrameBody); // Flow\ETL\Row $rows = $decoder->rows([$rowFrameBody, ...]); // batched: Flow\ETL\Rows $encoder = new Flow\Floe\RowsEncoder(); $encoder->schema($schemaFrameBody); $rowFrameBody = $encoder->row($row); // byte-identical to Flow\Floe\RowEncoder $segments = $encoder->rows($rows); // batched: framed ROW bytes per section, // list of Flow\Floe\FrameSegment
The extension is always optional: FloeReader/FloeWriter route to it automatically when flow_php
is loaded, and behavior is identical with or without it. Extension errors surface as
Flow\Floe\Exception\ExtensionException — there is no silent fallback. All 17 entry types are
covered; xml/xml_element/html/html_element values delegate DOM (de)construction to the pure-PHP
Flow\Floe\ValueDecoder/ValueEncoder static methods. Only DateTime/DateTimeImmutable are
supported — datetime subclasses throw.
Build
nix-shell --arg with-rust true --run "cd src/extension/flow-php-ext && make build"
Test
nix-shell --arg with-rust true --run "cd src/extension/flow-php-ext && make test"
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-11