Creating a middleware file
1 |
php artisan make:middleware Localization |
Add middleware to app/Http/Kernel.php
1 2 3 4 |
protected $routeMiddleware = [ 'localization' => \App\Http\Middleware\Localization::class, ]; |
Apply middleware in route.php
1 |
Route::get('/', 'HomeC@index')->middleware('localization'); |
Middleware
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public function handle($request, Closure $next) { //$locale = App::getLocale(); //logg($locale); $locale = $request->input('locale'); //logg($locale); if($locale != false){ session('locale', $locale); App()->setLocale($locale); }else if(session('locale') != false){ App()->setLocale(session()->get('locale')); } return $next($request); } |
Note
- Constructor of a controller will be execute before route, middleware and session.
Reference