Laravel - Reindirizzamenti

La rotta denominata viene utilizzata per dare un nome specifico a una rotta. Il nome può essere assegnato utilizzando il“as” chiave di matrice.

Route::get('user/profile', ['as' => 'profile', function () {
   //
}]);

Note - Ecco, abbiamo dato il nome profile a una rotta user/profile.

Reindirizzamento a percorsi con nome

Esempio

Osservare il seguente esempio per capire di più sul reindirizzamento a rotte denominate:

Step 1 - Crea una vista chiamata test.php e salvalo in

resources/views/test.php.

<html>
   <body>
      <h1>Example of Redirecting to Named Routes</h1>
   </body>
</html>

Step 2 - In routes.php, abbiamo impostato il percorso per test.phpfile. Lo abbiamo rinominatotesting. Abbiamo anche impostato un altro percorsoredirect che reindirizzerà la richiesta alla rotta indicata testing.

app/Http/routes.php

Route::get('/test', ['as'=>'testing',function() {
   return view('test2');
}]);

Route::get('redirect',function() {
   return redirect()->route('testing');
});

Step 3 - Visita il seguente URL per testare l'esempio di percorso denominato.

http://localhost:8000/redirect

Step 4 - Dopo l'esecuzione dell'URL sopra, verrai reindirizzato a http: // localhost: 8000 / test poiché stiamo reindirizzando alla rotta nominata testing.

Step 5 - Dopo aver eseguito con successo l'URL, riceverai il seguente output -

Reindirizzamento alle azioni del controller

Non solo route denominata, ma possiamo anche reindirizzare alle azioni del controller. Dobbiamo semplicemente passare il controller e il nome del fileactional metodo di azione come mostrato nell'esempio seguente. Se vuoi passare un parametro, puoi passarlo come secondo argomento del metodo di azione.

return redirect()->action(‘[email protected]’,[parameters]);

Esempio

Step 1 - Esegui il seguente comando per creare un controller chiamato RedirectController.

php artisan make:controller RedirectController --plain

Step 2 - Dopo aver eseguito con successo, riceverai il seguente output -

Step 3 - Copia il seguente codice su file

app/Http/Controllers/RedirectController.php.

app/Http/Controllers/RedirectController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class RedirectController extends Controller {
   public function index() {
      echo "Redirecting to controller's action.";
   }
}

Step 4 - Aggiungi le seguenti righe app/Http/routes.php.

app/Http/routes.php

Route::get('rr','[email protected]');
Route::get('/redirectcontroller',function() {
   return redirect()->action('[email protected]');
});

Step 5 - Visita il seguente URL per provare l'esempio.

http://localhost:8000/redirectcontroller

Step 6 - L'output apparirà come mostrato nell'immagine seguente.