ilya / belt
A handful of tools for PHP developers.
Installs: 19 484
Dependents: 2
Suggesters: 0
Security: 0
Stars: 717
Watchers: 41
Forks: 55
Open Issues: 2
Requires
- php: >=5.4.0
Requires (Dev)
- phpspec/phpspec: ~2
This package is not auto-updated.
Last update: 2024-11-09 16:27:13 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.6
support - 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.