Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Belt

Build Status

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.

About

A handful of tools for PHP developers.

Resources

License

Packages

No packages published

Languages

You can’t perform that action at this time.