El enrutamiento de recursos de Laravel asigna las rutas típicas «CRUD» a un controlador con una sola línea de código de la siguiente manera:
php artisan make:controller UsuarioController --resource
Con lo cual se crea un controlador en: app/Http/Controllers/UsuarioController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UsuarioController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
Acciones manejadas por el controlador.
| Verbo | URI | Acción | Nombre de ruta |
|---|---|---|---|
| GET | /photos | index | usuario.index |
| GET | /photos/create | create | usuario.create |
| POST | /photos | store | usuario.store |
| GET | /photos/{photo} | show | usuario.show |
| GET | /photos/{photo}/edit | edit | usuario.edit |
| PUTH/PATH | /photos/{photo} | update | usuario.update |
| DELETE | /photos/{photo} | destroy | usuario.destroy |
Registrar las rutas para el controlador con una única ruta el el archivo: routes/web.php.
Route::resource('usuario', 'UsuarioController');
Ahora el controlador tendrá métodos definidos en la ruta para cada una de estas acciones, incluidas notas que le informan sobre los verbos HTTP y los URI que manejan.