Facilitate the movement of data between systems

v0.2 2018-10-03 12:08 UTC

This package is auto-updated.

Last update: 2024-06-24 03:39:01 UTC


Data Flow

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

A Flow is a defined series of individual steps each of which modify some data that gets passed to the next step in the flow.


  • Soups simple calling f::moveFiles($targetDir)->each(f::gzip())->moveFiles($ftpDir)->flow($files)
    • transfer files from a remote location, compress using gzip and transfer to another location
  • How to flow
  • Works with PHP 5.6, PHP 7 & HHVM
  • N.B. Uses some command line programs which conform to Ubunutu's syntax.



  • run - Iterate through a set of Flows
  • toAll - Send the same input to each Flow at the same time
  • first - Take the first node from a collection
  • last - Take the last node from a collection
  • filter - Filter out nodes from a collection
  • map - Apply a function to each node in a collection
  • each - Apply a FlowInterface to each node in a collection
  • callback - Apply a callback to the node


  • makeDirectory - Make a directory from a file node
  • merge - Merge a collection of files into a file
  • compress - Compress a file
  • decompress - DeCompress a file
  • gzip - Gzip a file
  • gunzip - Gunzip a file
  • zip - Zip a file
  • unzip - Unzip a file
  • copyFile - Copy a file to a new location
  • copyFiles - Cope a collection of files to a new location
  • moveFile - Move a file to a new location
  • moveFiles - Move a collection of files to a new location
  • convertEncoding - Convert the encoding of a file
  • replaceText - Replace the text in a file
  • tail - Retrieve the last n lines of a file
  • head - Retrieve the first n lines of a file


Via Composer

$ composer require graze/data-flow


DataFlow has a PHPUnit test suite run through Docker 🐳. To run the tests run the following command:

$ make test


Please see CONTRIBUTING for details.

Change log

Please see CHANGELOG for more information what has changed recently.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.