Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:frameworks:laravel:crud

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:php:frameworks:laravel:crud [2025/03/07 12:37] – [Eliminar un post] tempwininformatica:programacion:php:frameworks:laravel:crud [2025/03/11 12:06] (actual) – [Controlador] tempwin
Línea 32: Línea 32:
 </code> </code>
  
 +==== Abreviando rutas ====
 +
 +Si hemos seguido ciertas convenciones en el nombre de los archivos, Laravel nos permitirá crear todas las rutas que vimos antes de una manera muy rápida:
 +
 +<code php>
 +Route::resource('posts', PostController::class);
 +</code>
 +
 +Laravel supone que el controlador ''PostController.php'' tiene los siguientes métodos típicos de un CRUD:
 +
 +  * ''index''
 +  * ''create''
 +  * ''store''
 +  * ''show''
 +  * ''edit''
 +  * ''destroy''
 +
 +Y creará por nosotros las 7 rutas necesarias.
 +
 +Para comprobarlo, podemos ejecutar el siguiente comando que listará las rutas definidas en nuestro proyecto de Laravel:
 +
 +<code bash>
 +php artisan route:list
 +</code>
 +
 +La salida debe ser la misma que cuando definimos las rutas por separado.
 +
 +Si quisiéramos que no se creasen todas las rutas:
 +
 +<code php>
 +Route::resource('posts', PostController::class)
 +        ->except(['destroy', 'edit']);
 +</code>
 +
 +El código anterior creará todas las rutas menos las de ''destroy'' (eliminación de registros) y ''edit'' (modificar registros).
 +
 +También podemos hacer lo contrario, es decir, especificar las rutas que sí queremos que se creen:
 +
 +<code php>
 +Route::resource('posts', PostController::class)
 +        ->only(['index', 'create', 'store']);
 +</code>
 +
 +Así solo se crearán las rutas ''index'', ''create'' y ''store''.
 ===== Modelo ===== ===== Modelo =====
  
Línea 58: Línea 102:
  
 <code php> <code php>
-php artisan make:controller PostController+php artisan make:controller PostController --create
 </code> </code>
 +
 +<WRAP center round info 60%>
 +El argumento ''%%--create%%'' hace que se generen los métodos típicos para un CRUD: ''index'' (listar), ''create'', ''store'' (guardar), ''edit'', ''update'' (modificar) y ''destroy'' (eliminar). 
 +</WRAP>
  
 Se habrá creado un fichero ''PostController.php'' dentro de ''app/Http/Controllers'' con el siguiente contenido:  Se habrá creado un fichero ''PostController.php'' dentro de ''app/Http/Controllers'' con el siguiente contenido: 
Línea 73: Línea 121:
 class PostController extends Controller  class PostController extends Controller 
 { {
 +    public function index() {}
 +
 +    public function create() {}        
 +
 +    public function store(Request $request) {}
 +    
 +    public function show(string $id) {}
 +    
 +    public function edit(string $id) {}        
 +    
 +    public function update(Request $request, string $id) {    }
 +    
 +    public function destroy(string $id) {    }            
  
 } }
informatica/programacion/php/frameworks/laravel/crud.1741347436.txt.gz · Última modificación: por tempwin