Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:frameworks:laravel

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 [2025/03/11 13:10] – [Modelos] tempwininformatica:programacion:php:frameworks:laravel [2025/03/31 15:30] (actual) – [Modelos] tempwin
Línea 88: Línea 88:
 <code bash> <code bash>
 composer create-project --prefer-dist laravel/laravel miproyecto composer create-project --prefer-dist laravel/laravel miproyecto
 +</code>
 +
 +=== Actualizar instalador Laravel ===
 +
 +<code bash>
 +composer global update laravel/installer
 </code> </code>
 ==== Sail ==== ==== Sail ====
Línea 355: Línea 361:
 ===== Controladores ===== ===== Controladores =====
  
-Laravel se basa en un patrón de diseño llamado **MVC**, de **Modelo-Vista-Controlador**. Centrándonos en aplicaciones web, mantiene separado el código PHP del HTML.+Laravel se basa en un patrón de arquitectura del software llamado **MVC**, de **Modelo-Vista-Controlador**. Centrándonos en aplicaciones web, mantiene separado el código PHP del HTML.
  
 {{ :informatica:programacion:mvc-programming.jpg?nolink |}} {{ :informatica:programacion:mvc-programming.jpg?nolink |}}
Línea 565: Línea 571:
 ===== Artisan ===== ===== Artisan =====
  
-Interfaz en línea de comandos incluida en Laravel.+Interfaz en línea de comandos incluida en Laravel diseñada para automatizar tareas comunes en el desarrollo de aplicaciones. Se usa para generar código, gestionar la base de datos, ejecutar pruebas y más.
  
 Podremos ver todos los comandos que admite Artisan y una breve descripción de cada uno mediante: Podremos ver todos los comandos que admite Artisan y una breve descripción de cada uno mediante:
  
-<code>+<code bash>
 php artisan php artisan
 +</code>
 +
 +==== Comandos de configuración ====
 +
 +=== Iniciar un servidor local de desarrollo ===
 +
 +<code bash>
 +php artisan serve
 +</code>
 +
 +Desde ese momento, tendremos accesible nuestro proyecto desde ''%%http://localhost:8080%%''
 +
 +<WRAP center round info 60%>
 +Podemos modificar el puerto utilizando el argumento ''%%--port%%'':
 +
 +<code bash>
 +php artisan serve --port=8000
 +</code>
 +</WRAP>
 +
 +=== Generar clave de aplicación ===
 +
 +Una de las variables que están definidas en el fichero ''.env'' es ''APP_KEY''. Para generar un valor aleatorio:
 +
 +<code bash>
 +php artisan key:generate
 +</code>
 +
 +==== Generación de código ====
 +
 +=== Modelos ===
 +
 +Para crear un nuevo modelo [[informatica:programacion:php:frameworks:laravel:eloquent_orm|Eloquent]]:
 +
 +<code bash>
 +php artisan make:model <NOMBRE_MODELO>
 +</code>
 +
 +Si queremos que también genere la migración, le pasamos el argumento ''-m'':
 +
 +<code bash>
 +php artisan make:model <NOMBRE_MODELO> -m
 +</code>
 +
 +También podemos generar de todo para un modelo:
 +
 +<code bash>
 +php artisan make:model <NOMBRE_MODELO> -a
 +</code>
 +
 +El comando anterior generará:
 +
 +  * Model (''app/Models/'')
 +  * Migración (''database/migrations/'')
 +  * //Seeder// (''database/seeders/'')
 +  * Controlador y su recurso (7 rutas / métodos) para realizar un CRUD.
 +  * //Factory// (''database/factories'')
 +  * //Policy//
 +
 +
 +=== Controladores ===
 +
 +Para generar un controlador:
 +
 +<code bash>
 +php artisan make:controller <NOMBRE_CONTROLADOR>
 +</code>
 +
 +Si también queremos que se creen los métodos RESTful (para listar, editar, añadir y borrar), le pasamos la opción ''%%--resource%%'':
 +
 +<code bash>
 +php artisan make:controller <NOMBRE_CONTROLADOR> --resource
 +</code>
 +
 +Si queremos crear un controlador y asociarlo a un modelo, utilizamos la opción ''%%--model%%'':
 +
 +<code bash>
 +php artisan make:controller <NOMBRE_CONTROLADOR> --model=<NOMBRE_MODELO>
 +</code>
 +==== Gestión de la base de datos ====
 +
 +=== Ejecutar migraciones pendientes ===
 +
 +<code bash>
 +php artisan migrate
 +</code>
 +
 +=== Revertir la última migración ===
 +
 +<code bash>
 +php artisan migrate:rollback
 +</code>
 +
 +=== Eliminar todas las tablas y ejecutar de nuevo las migraciones ===
 +
 +<code bash>
 +php artisan migrate:fresh
 +</code>
 +
 +Si también queremos que se ejecuten los //seeders//:
 +
 +<code bash>
 +php artisan migrate:fresh --seed
 +</code>
 +
 +=== Ejecutar seeders ===
 +
 +<code bash>
 +php artisan db:seed
 +</code>
 +
 +Si solo queremos que se ejecute cierto //seeder//, utilizamos la opción ''%%--class%%'':
 +
 +<code bash>
 +php artisan db:seed --class=UserSeeder
 +</code>
 +
 +==== Gestión de rutas ====
 +
 +=== Listar rutas registradas ===
 +
 +<code bash>
 +php artisan route:list
 +</code>
 +
 +==== Tinker: para pruebas ====
 +
 +Para abrir la consola interactiva:
 +
 +<code bash>
 +php artisan tinker
 </code> </code>
  
Línea 581: Línea 718:
 Los comandos de Artisan que más usaremos serán los relacionados con migraciones de la base de datos y creación de componentes. Los comandos de Artisan que más usaremos serán los relacionados con migraciones de la base de datos y creación de componentes.
  
 +==== Ayuda ====
 +
 +Para mostrar la ayuda de cualquier comando de **artisan** hay que añadir ''%%--help%%''. Por ejemplo:
 +
 +<code bash>
 +php artisan make:model --help
 +</code>
 +
 +==== Información ====
 +
 +Para mostrar la información de un modelo:
 +
 +<code php>
 +php artisan model:show <NOMBRE_MODELO>
 +</code>
 +
 +Por ejemplo:
 +
 +<code>
 +$ php artisan model:show User
 +
 +App\Models\User
 +
 +  Table: users
 +  Connection: mysql
 +  Primary key: id
 +  Incrementing: Yes
 +  With: []
 +  WithCount: []
 +  Belongs to Many: []
 +
 +  Attributes:
 +    id: int (auto-increment)
 +    name: string
 +    email: string
 +    meta: array (cast)
 +    created_at: Illuminate\Support\Carbon (cast: datetime)
 +    updated_at: Illuminate\Support\Carbon (cast: datetime)
 +
 +  Relationships:
 +    posts(): HasMany(App\Models\Post)
 +      🔑 Foreign key: user_id
 +      🗝️ Owner key: id
 +
 +  Methods:
 +    getEmailVerifiedAtAttribute()
 +    setPasswordAttribute($value)
 +
 +</code>
 ==== Servidor web de desarrollo ==== ==== Servidor web de desarrollo ====
  
informatica/programacion/php/frameworks/laravel.1741695029.txt.gz · Última modificación: por tempwin