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.