Set Global Variable using share method in ServiceProvider Laravel 7
In this article we will learn how to set global variable in Laravel 7 project . It's very easy to implement . We will see how can you set a global variable for whole project with example . We will share method provided by Laravel for making a variable Global using ServiceProvider .
Basically the purpose of making a global variable that you can access that variable throughout your project like inside all view files controllers etc . So that you don't need to define the same variable in each of you files .
How it Works :
Whenever you runs your Laravel Project , it automatically executes all your provider classes and these classes are automatically accessible throughout the project . So to make a global variable for your project follow the steps given below .
Step 1 - Create a ServiceProvider :
First you need to create a new ServiceProvider or you can also use use Default ServiceProviders present in " project_name/app/providers " , i will recommend to create a new one . Use the following command to create a new ServiceProvider .
php artisan make:provider provider_name
php artisan make:provider TestServiceProvider
php artisan make:provider TestServiceProvider
app/providers/TestServiceProvider :
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class TestServiceProvider extends ServiceProvider { /** * Register services. * * @return void */ public function register() { // } /** * Bootstrap services. * * @return void */ public function boot() { // } }
Step 2 - Register ServiceProvider :
After creating ServiceProvider , we need to register our service provider inside " project_name/config/app.php " . Open your config/app.php file and inside the " providers " array register your provider as shown in the following -
'providers' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Notifications\NotificationServiceProvider::class,
Illuminate\Pagination\PaginationServiceProvider::class,
Illuminate\Pipeline\PipelineServiceProvider::class,
Illuminate\Queue\QueueServiceProvider::class,
Illuminate\Redis\RedisServiceProvider::class,
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
Illuminate\Session\SessionServiceProvider::class,
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
/*
* Package Service Providers...
*/
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
Laravel\Socialite\SocialiteServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,
// This the example ServiceProvider
App\Providers\TestServiceProvider::class,
],
Step 3 - Making Global Variable :
The next step is to make a global variable inside ServiceProvider . To make a global variable open you ServiceProvider you made and write the following code inside your " boot method " as shown in the following .
public function boot()
{
view()->share('name', 'studywithkishan.online');
}
The first parameter inside the " view->share( parameter1 , parameter2 ) " method is the variable name and the parameter2 is the value of the variable .
Step 4 - Output :
{{$name}}
Important Note :
While using the variable it might show you and error that " variable is not defined " . use the following command to overcome such error .
php artisan config:cache
Thank you for reading this article 😊
For any query do not hesitate to comment 💬
Also Read :
Types of Migration in Laravel
How to use multiple where condition in Laravel
