zweifisch/match

v0.0.3 2013-09-03 13:01 UTC

This package is not auto-updated.

Last update: 2024-04-22 11:37:09 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