Laravel - Redirections

La route nommée est utilisée pour donner un nom spécifique à une route. Le nom peut être attribué à l'aide du“as” clé de tableau.

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

Note - Ici, nous avons donné le nom profile vers un itinéraire user/profile.

Redirection vers des itinéraires nommés

Exemple

Observez l'exemple suivant pour en savoir plus sur la redirection vers des routes nommées -

Step 1 - Créez une vue appelée test.php et enregistrez-la dans

resources/views/test.php.

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

Step 2 - Dans routes.php, nous avons mis en place l'itinéraire pour test.phpfichier. Nous l'avons renommé entesting. Nous avons également mis en place un autre itinéraireredirect qui redirigera la demande vers la route nommée testing.

app/Http/routes.php

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

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

Step 3 - Visitez l'URL suivante pour tester l'exemple d'itinéraire nommé.

http://localhost:8000/redirect

Step 4 - Après l'exécution de l'URL ci-dessus, vous serez redirigé vers http: // localhost: 8000 / test car nous redirigeons vers la route nommée testing.

Step 5 - Après l'exécution réussie de l'URL, vous recevrez la sortie suivante -

Redirection vers les actions du contrôleur

Non seulement la route nommée, mais nous pouvons également rediriger vers les actions du contrôleur. Nous devons simplement passer le contrôleur et le nom duactionà la méthode d'action comme indiqué dans l'exemple suivant. Si vous souhaitez passer un paramètre, vous pouvez le passer comme deuxième argument de la méthode d'action.

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

Exemple

Step 1 - Exécutez la commande suivante pour créer un contrôleur appelé RedirectController.

php artisan make:controller RedirectController --plain

Step 2 - Après une exécution réussie, vous recevrez la sortie suivante -

Step 3 - Copiez le code suivant dans un fichier

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 - Ajoutez les lignes suivantes dans app/Http/routes.php.

app/Http/routes.php

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

Step 5 - Visitez l'URL suivante pour tester l'exemple.

http://localhost:8000/redirectcontroller

Step 6 - La sortie apparaîtra comme indiqué dans l'image suivante.