riipandi/laravel-helpers

A collection of awesome helpful functions for Laravel

v1.0 2020-03-10 03:07 UTC

This package is auto-updated.

Last update: 2024-04-10 11:59:34 UTC


README

Originally taken from https://github.com/calebporzio/awesome-helpers. Thanks Caleb.

Installation

composer require riipandi/laravel-helpers

Helpers

carbon

Shortcut for: new Carbon or Carbon::parse()

carbon('One year ago');

chain

Makes an ordinary object chainable.

chain(new SomeClass)
    ->firstMethod()
    ->secondMethod()
    ->thirdMethod();

// You can use the "carry" constant to pass the result of one method into the other:
chain(new Str)->singular('cars')->ucfirst(carry)();
// Returns "Car"
// Also, you can grab the result of the chain by trailing
// a "()" on the end of it. (Thanks to Taylor Otwell for these two additions)

connection

Run callback under a different database connection.

$tenantPostIds = connection('tenantdb', function () {
    return Post::pluck('id');
});

dump_sql

Returns sql query with bindings data.

dump_sql(\DB::table('users')->where('email', "blaBla")->where('id', 1));
// returns "select * from `users` where `email` = 'blaBla' and `id` = 1"

faker

Shortcut for: $faker = Faker\Factory::create()

faker()->address; // returns random, fake address
faker('address'); // alternate syntax

user

A shortcut for auth()->user()

user()->posts()->create([...]);

money

echo money(12); // echoes "$12.00"
echo money(12.75); // echoes "$12.75"
echo money(12.75, false); // echos "$13"
echo money(12.75, true, 'en_GB'); // echos "£12.75"
// Note: unless specified otherwise, money() will detect the current locale.

stopwatch

Returns the amount of time (in seconds) the provided callback took to execute. Useful for debugging and profiling.

stopwatch(function () {
    sleep(2);
}); // returns "2.0"

str_between

str_between('--thing--', '--'); // returns "thing"
str_between('[thing]', '[', ']'); // returns "thing"

Str::between('--thing--', '--'); // returns "thing"
Str::between('[thing]', '[', ']'); // returns "thing"

str_extract

Returns capture groups contained in the provided regex pattern.

str_extract('Jan-01-2019', '/Jan-(.*)-2019/'); // returns "01"

Str::extract('Jan-01-2019', '/Jan-(.*)-2019/'); // returns "01"

str_match

Checks the provided string against the provided regex pattern.

str_match('Jan-01-2019', '/Jan-.*-2019/'); // returns true
str_match('foo bar baz', 'bar'); // returns true

Str::match('Jan-1-2019', '/Jan-(.*)-2019/'); // returns true

str_validate

A simple way to use validate a string using Laravel's built-in validation system.

str_validate('calebporzio@aol.com', 'regex:/\.net$/|email|max:10');
// returns: ["Format is invalid.", "May not be greater than 10 characters."]

Str::validate('calebporzio@aol.com', 'regex:/\.net$/|email|max:10');
// returns: ["Format is invalid.", "May not be greater than 10 characters."]

str_wrap

str_wrap('thing', '--'); // returns "--thing--"

Str::wrap('thing', '--'); // returns "--thing--"

swap

This function swaps the values of two variables.

$startDate = '2040-01-01';
$endDate = '2020-01-01';

if ($endDate < $startDate) {
    swap($startDate, $endDate);
}

echo $startDate; // prints "2020-01-01"
echo $endDate; // prints "2040-01-01"

tinker

Kind of like dd(), but will open an artisan tinker terminal session with the variables you passed in, so you can play around.

$somethingYouWantToDebug = new StdClass;
tinker($somethingYouWantToDebug);

License

This package is open-sourced software licensed under the MIT license.