Laravel: App:: setLocale не работает

Я использую laravel 5.1, я пытаюсь обновить locale в файле приложения, как это : В промежуточное файл язык :

...
public function handle($request, Closure $next)
    {       
        if(Session::has('locale'))
        {
            $lang = Session::get('locale');            
            App::setLocale($lang);        
        }

        return $next($request);
    }

есть идеи по этому поводу ??

3 ответов


Oooof, наконец, через два часа >

    ...
    ...
    \App\Http\Middleware\VerifyCsrfToken::class,
        \App\Http\Middleware\Locale::class,        
    ];

и все в порядке и работает ! спасибо всем вам :))))


единственное решение, которое я нашел, было установлено locale в методе конструктора средней посуды, например:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Http\Request;

class Localization
{

    protected $app;

    public function __construct(Application $app, Request $request)
    {
        if($locale = $request->header('Content-Language')){
            if(in_array($locale, ['en', 'fa'])){
                $app->setLocale($locale);
            }
        }
    }

    /**
     * Handle an incoming request.
     *
     * @param  Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $next($request);
    }
}

С ♥♥♥ и за 2 часа!


спасибо,

:) У меня была та же проблема, и решение было помещено промежуточное ПО в файл App\Http\Kernel.в PHP в разделе protected $middleware = []

\App\Http\Middleware\VerifyCsrfToken::class,
    \App\Http\Middleware\myNewMiddleware::class,        
];