Localization 为什么我的laravel控制器在usgin App::setLocale()时冻结?

Localization 为什么我的laravel控制器在usgin App::setLocale()时冻结?,localization,freeze,laravel-8,Localization,Freeze,Laravel 8,Laravel版本:8.44.0 web.php: <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\AppController; Route::get('/{locale}/business', [AppController::class, 'business']); Route::get('/', function () { App::setLocale('pl'); //no p

Laravel版本:8.44.0

web.php:

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AppController;

Route::get('/{locale}/business', [AppController::class, 'business']);


Route::get('/', function () {

    App::setLocale('pl'); //no problem here

    return view('home');
});
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AppController;
use Illuminate\Http\Request;

Route::get('/{locale}/business', function($locale, Request $request) {

    $controller = new AppController;

    if (! in_array($locale, ['en', 'pl'])) {
        abort(404);
    }

    App::setLocale($locale);

    return $controller->business($request);

});

我仍然不知道为什么我的代码不起作用,但这里是我(可能不是很优雅)的解决方法

web.php:

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AppController;

Route::get('/{locale}/business', [AppController::class, 'business']);


Route::get('/', function () {

    App::setLocale('pl'); //no problem here

    return view('home');
});
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AppController;
use Illuminate\Http\Request;

Route::get('/{locale}/business', function($locale, Request $request) {

    $controller = new AppController;

    if (! in_array($locale, ['en', 'pl'])) {
        abort(404);
    }

    App::setLocale($locale);

    return $controller->business($request);

});