Skip to content

Latest commit

 

History

History
285 lines (199 loc) · 5.93 KB

README.md

File metadata and controls

285 lines (199 loc) · 5.93 KB

bottomline Build Status PHP version

Useful feature pack.

Introduction

It's a full-on PHP manipulation utility-belt that provides support for the usual functional.

More reading:

  • Installation: Step-by-step instructions for getting bottomline running on your computer.
  • Benchmark: Comparison with other libraries.
  • Usage: List of commands.
  • Contributing: Explanation of how you can join the project.
  • License: Clarification of certain rules.

Installation

Binary installers for the latest released version are available at the Packagist package index.

Composer

Put the require statement in your composer.json file and run composer install:

{
    "require": {
        ...
        "maciejczyzewski/bottomline": "*"
        ...
    }
}

File

Put the require statement in your code:

require 'bottomline/bottomline.php';

Benchmarks

Usage

  • Arrays

    __::append([1, 2, 3], 4);
    // → [1, 2, 3, 4]

    Returns a copy of the array with falsy values removed.

    __::compact([0, 1, false, 2, '', 3]);
    // → [1, 2, 3]

    Flattens a multidimensional array. If you pass shallow, the array will only be flattened a single level.

    __::flatten([1, 2, [3, [4]]]);
    // → [1, 2, 3, 4]
    __::prepend([1, 2, 3], 4);
    // → [4, 1, 2, 3]

    Returns an array of integers from start to stop (exclusive) by step.

    __::range(1, 10, 2);
    // → [1, 3, 5, 7, 9]
    __::repeat('foo', 3);
    // → ['foo', 'foo', 'foo']
  • Chaining

    __::slug('Jakieś zdanie z dużą ilością obcych znaków!');
    // → 'jakies-zdanie-z-duza-iloscia-obcych-znakow'
    __::truncate('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque et mi orci.');
    // → 'Lorem ipsum dolor sit amet, ...'
    __::urlify('I love https://google.com');
    // → 'I love <a href="https://google.com">google.com</a>'
  • Collections

    Return the values in the collection that pass the truth test.

    $a = [
        ['name' => 'fred',   'age' => 32],
        ['name' => 'maciej', 'age' => 16]
    ];
    
    __::filter($a, function($n) {
        return $n['age'] > 24;
    });
    // → [['name' => 'fred', 'age' => 32]]

    Get the first element of an array. Passing n returns the first n elements.

    __::first([1, 2, 3, 4, 5], 2);
    // → [1, 2]
    __::get(['foo' => ['bar' => 'ter']], 'foo.bar');
    // → 'ter'

    Get the last element of an array. Passing n returns the last n elements.

    __::last([1, 2, 3, 4, 5], 2);
    // → [4, 5]

    Returns an array of values by mapping each in collection through the iterator.

    __::map([1, 2, 3], function($n) {
        return $n * 3;
    });
    // → [3, 6, 9]

    Returns the maximum value from the collection. If passed an iterator, max will return max value returned by the iterator.

    __::max([1, 2, 3]);
    // → 3

    Returns the minimum value from the collection. If passed an iterator, min will return min value returned by the iterator.

    __::min([1, 2, 3]);
    // → 1

    Extract an array of property values.

    $a = [
        ['foo' => 'bar',  'bis' => 'ter' ],
        ['foo' => 'bar2', 'bis' => 'ter2'],
    ];
    
    __::pluck($a, 'foo');
    // → ['bar', 'bar2']
    $a = [
        ['name' => 'fred',   'age' => 32],
        ['name' => 'maciej', 'age' => 16]
    ];
    
    __::where($a, ['age' => 16]);
    // → [['name' => 'maciej', 'age' => 16]]
  • Functions

  • Objects

    __::isArray([1, 2, 3]);
    // → true
    __::isEmail('[email protected]');
    // → true
    __::isFunction(function ($a) { return $a + 2; });
    // → true
    __::isNull(null);
    // → true
    __::isNumber(123);
    // → true
    __::isObject('fred');
    // → false
    __::isString('fred');
    // → true
  • Utilities

Contributing

Please feel free to contribute to this project! Pull requests and feature requests welcome! ✌️

Gitter chat

License

See LICENSE file in this repository.