Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:cursos:laravel_8:20250529

¡Esta es una revisión vieja del documento!


Curso Laravel 8.0 clase 29/05/2023

Notas sobre la clase del 29/05/2023 del curso Curso de Laravel 8.0

Resumen semana pasada:

  • Tests unitarios
  • Estructura de Laravel
  • MVC

LAravel se lleva muy bien con Vue (y quizás con React). Laravel no quiere jQuery

Recordamos la creación del modelo:

php artisan make:model Product -a

Creará también los métodos para hacer un CRUD.

En base de datos, aunque nuestro modelo sea singular, Laravel crea la base de datos en plural.

database/migrations/….create_products_table.php

Para crear realmente la estructura en base de datos, lanzamos todas las migraciones:

php artisan migrate

Echando vistazo a la base de datos, vemos las siguientes tablas:

  • failed_jobs: colas de tareas. Tareas que se ejecutan de manera asíncrona. Envío de e-mails, por ejemplo. Aquí se guardarán las tareas que no han terminado correctamente.
  • migrations: ficheros de migraciones. Los que aparezcan, Laravel no los ejecutará más.
  • password_resets
  • personal_access_tokens
  • products
  • users

Si queremos forzar a lanzar todas las migraciones:

php artisan migra:fresh

No usar ese comando en producción porque se borrará la base de datos.

Nuevo fichero de migración:

php artisan make:migration adds_description_to_products

Añadimos un campo nuevo a la tabla “products”

php artisan migrate

Laravel solo ejecutará la nueva migración (porque no está en la tabla migrations)

En database/seeders/DatabaseSeeder.php vamos a generar datos:

run() {
  Product::factory(['name' => 'tesla 5', 'description' => 'coche que mola'])->create();
}
php artisan db:seed

Tendremos el registro nuevo en tabla products.

En database/factoriesProductFactory.php Para tener variedad en los datos que se vayan a meter: <code php> public function definition() { return [ 'name' ⇒ $this→faker→name(), 'description' ⇒ $this→faker-text() ]; } </code> * Biblioteca Laravel Faker Modificaríamos ahora DatabaseSeeder.php: <code php> … Product::factory(100)→create(); </code> Como no indicamos nada por argumento a create, tomará lo de la biblioteca Faker. Limpieza: <code> php artisan migrate:fresh – seed </code> Borra la base de datos, la vuelve a crear y luego la rellena de datos. Vamos con las rutas. Para poder verlas: <code> php artisan route:list </code> app/Http/Controllers/ProeductController.php <code php> public function index() { return view (“product.index”); el punto sustituye la barra (/) para evitar incompatibilidades Windows-Linux } </code> Creamos la vista: resources/views/products/index.blade.php'': <code> <h1>Listado de productos</h1> <ul> <li><p>Nombre: tesla5</p> <p>Descripción: coche que mola</p></li> </ul> </code>

informatica/programacion/php/cursos/laravel_8/20250529.1685360105.txt.gz · Última modificación: por tempwin