ho costruito un sito web multilingue e al fine di visualizzare la lingua corretta faccio qualcosa di simile:laravel 5.2 Variabile in un gruppo di percorso
routes.php:
Route::group(['middleware' => 'web', 'prefix' => '{locale}'], function() {
Route::auth();
Route::get('home', '[email protected]');
etc...
});
miei Controllers:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index($locale)
{
app()->setLocale($locale);
return view('home');
}
}
Come si può vedere, ottengo la variabile locale dal mio prefisso e imposto l'app locale all'interno di ciascuna funzione.
Questo è perfettamente funzionante, ma mi chiedo se c'è un modo migliore per farlo? Sento che è un po 'ridondante ..
Stavo pensando di impostare l'app local direttamente nel gruppo di percorsi. Qualcosa di simile a questo:
Route::group(['middleware' => 'web', 'prefix' => '{locale}'], function ($locale) {
app()->setLocale($locale);
Route::auth();
Route::get('home', '[email protected]');
...
});
Ma questo non è, evidentemente, funziona .. C'è qualcuno ha affrontato questo genere di cose già?
Sembra buono, tuttavia spero ancora di poter trovare la soluzione per impostare manualmente il locale nelle mie rotte senza pacchetti. – Valentincognito