Localization 为什么我的laravel控制器在usgin App::setLocale()时冻结?
Laravel版本:8.44.0 web.php: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
<?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);
});