simones/partial

Function partial application

1.0.0 2016-09-17 17:15 UTC

This package is not auto-updated.

Last update: 2024-05-11 16:18:02 UTC


README

Build Status

Apply partial arguments to your functions.

Install

$ composer require simones/partial

Usage

Bind a subset of a function's arguments and get a new function back that accepts the remaining arguments. It is most useful if you write functional programming or don't like using use with anonymous functions. You can get a Partial instance via instantiation or with the partial helper.

Here are some examples (for more, head to the spec):

// one-argument binding
$hello = partial('printf', ['Hello, %s']);
$hello('world') // print "Hello, world"
// or
$hello->call('world')


// multiple arguments binding
$countdown = partial('printf', ['%s, %s, %s, go!', 'Three']);
$countdown('Two', 'One'); // print "Three, Two, One, go!"


// you can skip argument, and they will be filled on call time
$countdown = partial('printf', ['%s, %s, %s, go!', Partial::SKIP, 'Two']);
$countdown('Trhee', 'One'); // print "Three, Two, One, go!"