zweifisch / match
pattern matching for php
v0.0.3
2013-09-03 13:01 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-11-04 14:29:28 UTC
README
pattern matching for php
install via composer
composer require 'zweifisch/match:*'
destruct value
$array = [1,[2,[3,4]]]; extract(\match\destruct(['a',['b',['c','d']]], $array)) or die("match failed"); echo "$a $b $c $d"; // "1 2 3 4"
passing to a function
$input = ['method'=>'foo', 'params'=>['bar']]; $pattern = ['method'=>'func', 'params'=>['arg1']]; $result = \match\let($pattern, $input, function($arg1, $func){ return "$func $arg1"; }); // "foo bar"
destruct multiple values
$input = ['method'=>'foo', 'params'=>['bar']]; $result = \match\let( ['method'=>'func', 'params'=>['arg1']], $input 'now', time(), function($func, $arg1, $now){ return "$func $arg1 $now"; } );
tests
composer install --dev vendor/bin/phpunit -c tests