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 FlowstoAll
- Send the same input to each Flow at the same timefirst
- Take the first node from a collectionlast
- Take the last node from a collectionfilter
- Filter out nodes from a collectionmap
- Apply a function to each node in a collectioneach
- Apply a FlowInterface to each node in a collectioncallback
- Apply a callback to the node
makeDirectory
- Make a directory from a file nodemerge
- Merge a collection of files into a filecompress
- Compress a filedecompress
- DeCompress a filegzip
- Gzip a filegunzip
- Gunzip a filezip
- Zip a fileunzip
- Unzip a filecopyFile
- Copy a file to a new locationcopyFiles
- Cope a collection of files to a new locationmoveFile
- Move a file to a new locationmoveFiles
- Move a collection of files to a new locationconvertEncoding
- Convert the encoding of a filereplaceText
- Replace the text in a filetail
- Retrieve the last n lines of a filehead
- 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.
Please see CHANGELOG for more information what has changed recently.
If you discover any security related issues, please email security@graze.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.