Laravel | Ruta::recurso vs Ruta::controlador

En Laravel, las acciones de ruta se pueden controlar mediante cualquiera de los siguientes dos métodos, ya sea usando el método Route::resource o usando el método Route::controller . Pero ambos tienen sus diferencias. Route::resource: el método Route::resource es un controlador RESTful que genera todas las rutas básicas requeridas para una aplicación y se puede manejar fácilmente usando la clase de controlador. Se necesitan dos argumentos, donde el primero es el URI (identificador uniforme de recursos) de la solicitud entrante base y el segundo es el nombre de la clasedel controlador que se utiliza para manejar la solicitud. Con este método, obtenemos nombres de rutas y rutas definidas de forma predeterminada con 7 acciones diferentes que se requieren para cualquier aplicación. Nota: Para obtener la lista de rutas creadas, debemos usar el comando ‘PHP artesanal ruta: lista’ en la línea de comando. Ejemplo:

  • rutas.php
Route::resource(‘gfg’, ‘GeeksforGeeksController’);
  • Producción:

Route::controller: el método Route::controller es un controlador implícito que también toma dos argumentos y son los mismos que el método Route::resource , es decir, el primero es el URI (identificador uniforme de recursos) de la solicitud entrante base y el segundo es el nombre de clase del controlador que se utiliza para manejar la solicitud. Con este método, tenemos un poco de flexibilidad en la forma en que definimos los nombres de nuestras rutas. No hay nombres de ruta definidos por defecto como los había con el método Route::resource . Nota: Para obtener la lista de rutas creadas, debe usar el comando ‘Ruta artesanal de PHP: lista’ en la línea de comando. Ejemplo:

  • rutas.php:
Route::controller(‘gfg’, ‘GeeksforGeeksController’);
  • GeeksforGeeksController.php: cuando no se define ningún método en el archivo de clase del controlador, obtenemos el resultado como se muestra a continuación:
class GeeksforGeeksController extends Controller
{
  // Handle request
}
  • Producción:
  • GeeksforGeeksController.php: cuando definimos el método get y post en el archivo de clase del controlador, obtenemos el resultado como se muestra a continuación.
class GeeksforGeeksController extends Controller
{
  public function getGeek()
  {
    // Handle get request
  }
  public function postGeek($id)
  {
    // Handle post request
  }
}
  • Producción:

Antes de especificar cualquiera de las rutas, debe crear la clase de controlador que desea usar en la ruta. Puede hacerlo usando un comando artesanal simple que es ‘PHP crafty make: controller GeeksforGeeksController’, es decir, ‘PHP crafty make: controller’. El método Route:Controller fue compatible hasta Laravel 5.1 y ya no es compatible con las versiones posteriores. Entonces, en las versiones posteriores de Laravel, usamos el método Route::resource .

Publicación traducida automáticamente

Artículo escrito por aakashpawar1999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *