Laravel

How do I make global helper function in Laravel 5.x ?

This question was originally asked by TheWebs on StackOverflow.com, the question reads :

If I wanted to make a currentUser() function for some oauth stuff I am doing where I can use it in a view or in a controller (think rails, where you do helper_method: current_user in the application controller).

Everything I read states to create a helpers folder and add the function there and then that way you can do Helpers::functionName Is this the right way to do this?

Whats the “laravel way” of creating helper functions that can be used in blade templates and controllers?

The solution for it is pretty easy, Create a new file in your app/Helpers directory name it AnythingHelper.php and write your code for example :

<?php
function getDomesticCities()
{
    $result = \App\Package::where('type', '=', 'domestic')
        ->groupBy('from_city')
        ->get(['from_city']);

    return $result;
}

generate a service provider for your helper by following command:

php artisan make:provider HelperServiceProvider

in the register function of your newly generated HelperServiceProvider.php add following code :

require base_path().'/app/Helpers/AnythingHelper.php';

now in your config/app.php load this service provider and you are done

'App\Providers\HelperServiceProvider',