graze / data-flow
Facilitate the movement of data between systems
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 21
Forks: 0
Open Issues: 0
pkg:composer/graze/data-flow
Requires
- php: >=5.5.0
- graze/data-structure: ^2.0
- graze/extensible: dev-master@dev
- league/container: ^1.3
- league/flysystem: ^1.0
- symfony/process: ^2.7
Requires (Dev)
- league/flysystem-memory: ^1.0
- mockery/mockery: ~0.9
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2025-10-24 06:38:04 UTC
README
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.
Details
- 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.
Commands
Generic
- 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
Files
- 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
Installation
Via Composer
$ composer require graze/data-flow
Testing
DataFlow has a PHPUnit test suite run through Docker 🐳. To run the tests run the following command:
$ make test
Contributing
Please see CONTRIBUTING for details.
Change log
Please see CHANGELOG for more information what has changed recently.
Security
If you discover any security related issues, please email security@graze.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.