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.