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.