Laravel - Redirecciones

La ruta nombrada se utiliza para dar un nombre específico a una ruta. El nombre se puede asignar usando el“as” clave de matriz.

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

Note - Aquí, le hemos dado el nombre profile a una ruta user/profile.

Redirigir a rutas con nombre

Ejemplo

Observe el siguiente ejemplo para comprender más acerca de la redirección a rutas con nombre:

Step 1 - Cree una vista llamada test.php y guárdela en

resources/views/test.php.

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

Step 2 - En routes.php, hemos configurado la ruta para test.phparchivo. Lo hemos renombrado atesting. También hemos configurado otra rutaredirect que redirigirá la solicitud a la ruta nombrada testing.

app/Http/routes.php

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

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

Step 3 - Visite la siguiente URL para probar el ejemplo de ruta con nombre.

http://localhost:8000/redirect

Step 4 - Después de la ejecución de la URL anterior, será redirigido a http: // localhost: 8000 / test ya que estamos redirigiendo a la ruta nombrada testing.

Step 5 - Después de la ejecución exitosa de la URL, recibirá el siguiente resultado:

Redirigir a acciones del controlador

No solo ruta con nombre, sino que también podemos redirigir a las acciones del controlador. Necesitamos simplemente pasar el controlador y el nombre delactional método de acción como se muestra en el siguiente ejemplo. Si desea pasar un parámetro, puede pasarlo como segundo argumento del método de acción.

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

Ejemplo

Step 1 - Ejecute el siguiente comando para crear un controlador llamado RedirectController.

php artisan make:controller RedirectController --plain

Step 2 - Después de una ejecución exitosa, recibirá el siguiente resultado:

Step 3 - Copie el siguiente código al archivo

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 - Agregue las siguientes líneas en app/Http/routes.php.

app/Http/routes.php

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

Step 5 - Visite la siguiente URL para probar el ejemplo.

http://localhost:8000/redirectcontroller

Step 6 - La salida aparecerá como se muestra en la siguiente imagen.