Heim > Fragen und Antworten > Hauptteil
Ich bearbeite meine Anwendungsroutingdateien, um sie so aufgeräumt wie möglich zu gestalten. Also habe ich das in meiner „web.php“ gemacht:
Route::controller(AlquilerController::class)->group(function ($hola) { //Debug lines error_log("This"); error_log(get_class($this)); //Illuminate\Routing\RouteFileRegistrar. error_log("hola"); error_log(get_class($hola)); //Illuminate\Routing\Router. Route::get('alquileres/busqueda', 'busqueda')->name('alquileres.busqueda'); Route::get('alquileres/busqueda_texto', 'busquedaTexto')->name('alquileres.busqueda_texto'); Route::middleware('auth')->get('alquileres/mis_alquileres', 'mis_alquileres')->name('alquileres.mis_alquileres'); Route::post('/alquileres/filter_texto', 'filterTexto')->name('alquileres.filter_texto'); Route::get('/alquileres/filter_texto', 'filterTexto')->name('alquileres.filter_texto_url'); Route::post('/alquileres/filter', 'filter')->name('alquileres.filter'); Route::get('/alquileres/filter', 'filter')->name('alquileres.filter_url'); Route::resource('alquileres',AlquilerController::class)->parameters(['alquileres' => 'alquiler']); });
Obwohl das gut funktioniert, finde ich diese Zeile überflüssig:
Route::resource('alquileres',AlquilerController::class)->parameters(['alquileres' => 'alquiler']);
, weil ich den Text „AlquilerController::class“ wiederhole, sowohl im Parameter „Route::controller“ als auch im zweiten Parameter von „Route::resource“.
Gibt es eine Möglichkeit, dies zu vermeiden? Ich habe versucht, am Anfang des Rückruftexts „group“ ein „error_log“ zu erstellen, um zu sehen, was ich bekommen habe, aber ich kann keine Lösung finden.
Vielen Dank!
P粉0225014952024-04-05 00:55:16
如何在路由组之前使用控制器类的值声明一个变量,然后在路由组类中使用该变量以避免重复
$controllerClass = AlquilerController::class; Route::controller($controllerClass)->group(function () use ($controllerClass) { Route::get('alquileres/busqueda', 'busqueda')->name('alquileres.busqueda'); Route::get('alquileres/busqueda_texto', 'busquedaTexto')->name('alquileres.busqueda_texto'); Route::middleware('auth')->get('alquileres/mis_alquileres', 'mis_alquileres')->name('alquileres.mis_alquileres'); Route::post('/alquileres/filter_texto', 'filterTexto')->name('alquileres.filter_texto'); Route::get('/alquileres/filter_texto', 'filterTexto')->name('alquileres.filter_texto_url'); Route::post('/alquileres/filter', 'filter')->name('alquileres.filter'); Route::get('/alquileres/filter', 'filter')->name('alquileres.filter_url'); Route::resource('alquileres', $controllerClass)->parameters(['alquileres' => 'alquiler']); });