A handful of tools for PHP developers.
A handful of tools for PHP developers.
Version 2.0.0 is out now. Clear documentation, improved tests and code quality.
In case you want to try it out, run:
php composer.phar require "ilya/belt:~2"
That will add Belt to your project as a Composer dependency.
A little taste of Belt:
use Belt\Belt;
Belt::max([1, 2, 3]) // => 3
Belt::flatten([1, [2, [3]]]) // => [1, 2, 3]
Belt::last([1, 2, 3], 2) // => [2, 3]
Here is what is available to you:
boolean isDate(mixed $value)boolean isNumber(mixed $value)boolean isString(mixed $value)boolean isFunction(mixed $value)boolean isEmpty(mixed $value)boolean isEqual(mixed $left, mixed $right)boolean isBoolean(mixed $value)boolean isObject(mixed $value)boolean isArray(mixed $value)boolean isTraversable(mixed $value)boolean isNull(mixed $value)boolean has(mixed $object, string $key)array keys(mixed $object)array values(mixed $object)array methods(mixed $object)mixed copy(mixed $value)mixed extend(mixed $source, mixed $destination)mixed apply(mixed $object, Closure $closure)mixed defaults(mixed $object, array|mixed $defaults)string escape(string $string)string id(string $prefix = '')mixed with(mixed $value)void times(integer $number, Closure $closure)mixed cache(Closure $closure)mixed wrap(Closure $closure, Closure $wrapper)mixed compose(array $closures, array $arguments = array())void once(Closure $closure)mixed after(integer $number, Closure $closure)mixed|array first(array $elements, integer $amount = 1)array initial(array $elements, integer $amount = 1)array rest(array $elements, integer $index = 1)mixed|array last(array $elements, integer $amount = 1)array pack(array $elements)array flatten(array $elements)array range(integer $to, integer $from = 0, integer $step = 1)array difference(array $one, array $another)array unique(array $elements, Closure $iterator = null)array without(array $elements, array $ignore)array zip(array $one, array $another)integer indexOf(array $elements, mixed $element)array intersection(array $one, array $another)array union(array $one, array $another)void each(array $collection, Closure $iterator)array map(array $collection, Closure $iterator)array toArray(mixed $value)integer|null size(array|Countable $value)array shuffle(array $collection)boolean any(array $collection, Closure $iterator)boolean all(array $collection, Closure $iterator)array reject(array $collection, Closure $iterator)array pluck(array $collection, string $key)boolean contains(array $collection, mixed $value)array invoke(array $collection, string $function)mixed reduce(array $collection, Closure $iterator, mixed $initial = 0)array sortBy(array $collection, Closure $iterator)array groupBy(array $collection, Closure $iterator)mixed max(array $collection)mixed min(array $collection)PHP 5.6 support - leverage variadic functions.Belt is licensed under the MIT license.
No open issues yet, or sync has not completed.