Giter VIP home page Giter VIP logo

awesome-helpers's Introduction

A collection of awesome helpful functions for Laravel

Travis CI status image

Installation

composer require calebporzio/awesome-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.

ok

Shortcut for response('', 204). When you don't have anything to return from an endpoint, but you want to return success.

return ok();

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

Returns string between second argument

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('[email protected]', 'regex:/\.net$/|email|max:10');
// returns: ["Format is invalid.", "May not be greater than 10 characters."]

Str::validate('[email protected]', '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);

Am I missing an awesome helper function?

Submit a PR or issue with helper functions you use or ideas you have for others!

TTFN, Caleb

awesome-helpers's People

Contributors

calebporzio avatar cupoftea696 avatar akiyamasm avatar nullthoughts avatar adrianb93 avatar midnite81 avatar teejay-codes avatar szepeviktor avatar repat avatar channingdefoe avatar lucasmesquitaborges avatar nunomaduro avatar chapeupreto avatar timacdonald avatar peter279k avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.