Rumah  >  Soal Jawab  >  teks badan

Menggunakan kaedah "sumber" dalam Route::controller(<class>)->group(...)

Saya sedang mengedit fail penghalaan aplikasi saya untuk menjadikannya sekemas mungkin. Jadi saya melakukan ini dalam "web.php" saya:

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']);
});

Walaupun ini berfungsi dengan baik, saya dapati baris ini berlebihan: Route::resource('alquileres',AlquilerController::class)->parameters(['alquileres' => 'alquiler']);, kerana saya mengulangi teks "AlquilerController::class", kedua-duanya dalam parameter 'Route::controller', dan kemudian parameter kedua 'Route::resource'.

Adakah ada cara untuk mengelakkan perkara ini? Saya cuba melakukan beberapa "error_log" pada permulaan badan panggil balik "kumpulan" hanya untuk melihat apa yang saya dapat, tetapi saya tidak dapat mencari penyelesaian.

Terima kasih banyak-banyak!

P粉475315142P粉475315142221 hari yang lalu523

membalas semua(1)saya akan balas

  • P粉022501495

    P粉0225014952024-04-05 00:55:16

    Bagaimana untuk mengisytiharkan pembolehubah dengan nilai kelas pengawal sebelum kumpulan penghalaan dan kemudian gunakan pembolehubah itu dalam kelas kumpulan penghalaan untuk mengelakkan pertindihan

    $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']);
    });

    balas
    0
  • Batalbalas