Search code examples
phplaravellaravel-4global-variables

global variable in laravel


In PHP, I used to define some variables in my header.php and use them in all my pages. How can I have something like that in Laravel?

I am not talking about View::share('xx', 'xx' );

Assume I want to have a variable which holds a number in it and I need this number inside all my controllers to calculate something.


Solution

  • Sounds like a good candidate for a configuration file.

    Create a new one, let's call it calculations.php:

    Laravel ~4ish:

    app
        config
            calculations.php
    

    Laravel 5,6,7+:

    config
        calculations.php
    

    Then put stuff in the new config file:

    <?php return [ 'some_key' => 42 ];
    

    Then retrieve the config in your code somewhere (note the file name becomes a "namespace" of sorts for the config item):

    echo Config::get('calculations.some_key'); // 42 in Laravel ~4
    echo config('calculations.some_key'); // 42 in Laravel ~5,6,7+