ilya / belt
A handful of tools for PHP developers.
Installs: 20 401
Dependents: 2
Suggesters: 0
Security: 0
Stars: 711
Watchers: 40
Forks: 55
Open Issues: 2
pkg:composer/ilya/belt
Requires
- php: >=5.4.0
Requires (Dev)
- phpspec/phpspec: ~2
This package is not auto-updated.
Last update: 2025-10-25 20:52:17 UTC
README
A handful of tools for PHP developers.
Version 2.0.0 is out now. Clear documentation, improved tests and code quality.
Installation
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.
Example
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]
What It Offers
- 60+ useful functions that you can use in your projects.
- Belt is fully tested.
- The source code is clean and documented.
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)
Development
Plans
- Add
PHP 5.6support - leverage variadic functions.
Features
- Collections [done]
- each [done]
- map [done]
- reduce [done]
- max [done]
- min [done]
- size [node]
- toArray [done]
- groupBy [done]
- sortBy [done]
- shuffle [done]
- all [done]
- any [done]
- pluck [done]
- contains [done]
- invoke [done]
- reject [done]
- Arrays [done]
- first [done]
- initial [done]
- rest [done]
- last [done]
- pack [done]
- flatten [done]
- without [done]
- unique [done]
- union [done]
- difference [done]
- zip [done]
- intersection [done]
- range [done]
- indexOf [done]
- Functions [done]
- cache [done]
- once [done]
- wrap [done]
- after [done]
- compose [done]
- Objects [done]
- keys [done]
- values [done]
- copy [done]
- extend [done]
- defaults [done]
- methods [done]
- apply [done]
- has [done]
- isEqual [done]
- isEmpty [done]
- isObject [done]
- isArray [done]
- isTraversable [done]
- isFunction [done]
- isString [done]
- isNumber [done]
- isBoolean [done]
- isDate [done]
- isNull [done]
- Utilities [done]
- with [done]
- times [done]
- id [done]
- escape [done]
License
Belt is licensed under the MIT license.