Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Pipeline
- {
- public static function make_pipeline(...$funcs)
- {
- $funcs = func_get_args();
- return function($arg) use ($funcs)
- {
- foreach($funcs as $function) {
- if(!isset($value))
- $value = $function($arg);
- else
- $value = $function($value);
- }
- return $value;
- };
- }
- }
- $fun = Pipeline::make_pipeline(
- function($x) {
- return $x * 3;
- },
- function($x) {
- return $x + 1;
- },
- function($x) {
- return $x / 2;
- });
- echo $fun(3); # should print 5
Add Comment
Please, Sign In to add comment