- Conozca Laravel
- Crear un proyecto Laravel
- Configuración inicial
- Instalación con Docker usando Sail
- Soporte para IDE
- Laravel e IA
- Próximos pasos
#Conozca Laravel
Laravel es un framework para aplicaciones web con una sintaxis expresiva y elegante. Un framework web proporciona una estructura y un punto de partida para crear su aplicación, permitiéndole enfocarse en construir algo increíble mientras nosotros nos encargamos de los detalles.
Laravel se esfuerza por ofrecer una experiencia de desarrollo excepcional, al tiempo que proporciona características potentes como inyección de dependencias completa, una capa de abstracción de base de datos expresiva, colas y trabajos programados, pruebas unitarias e integradas, y más.
Ya sea que sea nuevo en frameworks web PHP o tenga años de experiencia, Laravel es un framework que puede crecer con usted. Le ayudaremos a dar sus primeros pasos como desarrollador web o a impulsar su experiencia al siguiente nivel. Estamos ansiosos por ver lo que construye.
¿Nuevo en Laravel? Visite el Laravel Bootcamp para un recorrido práctico por el framework mientras le guiamos en la creación de su primera aplicación Laravel.
#¿Por qué Laravel?
Existen diversas herramientas y frameworks disponibles para construir una aplicación web. Sin embargo, creemos que Laravel es la mejor opción para crear aplicaciones web modernas y full stack.
#Un framework progresivo
Nos gusta llamar a Laravel un framework "progresivo". Con esto queremos decir que Laravel crece con usted. Si está dando sus primeros pasos en el desarrollo web, la amplia biblioteca de documentación, guías y tutoriales en video de Laravel le ayudarán a aprender sin sentirse abrumado.
Si es un desarrollador senior, Laravel le ofrece herramientas robustas para inyección de dependencias, pruebas unitarias, colas, eventos en tiempo real y más. Laravel está afinado para construir aplicaciones web profesionales y listo para manejar cargas empresariales.
#Un framework escalable
Laravel es increíblemente escalable. Gracias a la naturaleza escalable de PHP y al soporte incorporado de Laravel para sistemas de caché distribuidos y rápidos como Redis, la escalabilidad horizontal con Laravel es sencilla. De hecho, aplicaciones Laravel han sido escaladas fácilmente para manejar cientos de millones de solicitudes por mes.
¿Necesita escalabilidad extrema? Plataformas como Laravel Vapor le permiten ejecutar su aplicación Laravel a escala casi ilimitada usando la última tecnología serverless de AWS.
#Un framework comunitario
Laravel combina los mejores paquetes del ecosistema PHP para ofrecer el framework más robusto y amigable para desarrolladores disponible. Además, miles de talentosos desarrolladores de todo el mundo han contribuido al framework. Quién sabe, tal vez usted también se convierta en un contribuyente de Laravel.
#Crear un proyecto Laravel
Antes de crear su primer proyecto Laravel, asegúrese de que su máquina local tenga instalado PHP y Composer. Si desarrolla en macOS, PHP y Composer pueden instalarse en minutos mediante Laravel Herd. Además, recomendamos instalar Node y NPM.
Después de instalar PHP y Composer, puede crear un nuevo proyecto Laravel usando el comando create-project de Composer:
composer create-project "laravel/laravel:^10.0" example-app
O bien, puede crear nuevos proyectos Laravel instalando globalmente el instalador de Laravel mediante Composer:
composer global require laravel/installer
laravel new example-app
Una vez creado el proyecto, inicie el servidor de desarrollo local de Laravel usando el comando serve de Laravel Artisan:
cd example-app
php artisan serve
Una vez iniciado el servidor de desarrollo Artisan, su aplicación estará accesible en su navegador web en http://localhost:8000. A continuación, estará listo para dar sus próximos pasos en el ecosistema Laravel. Por supuesto, también puede configurar una base de datos.
Si desea un inicio rápido en el desarrollo de su aplicación Laravel, considere usar uno de nuestros starter kits. Los starter kits de Laravel proporcionan scaffolding de autenticación backend y frontend para su nueva aplicación Laravel.
#Configuración inicial
Todos los archivos de configuración del framework Laravel se almacenan en el directorio config. Cada opción está documentada, así que siéntase libre de revisar los archivos y familiarizarse con las opciones disponibles.
Laravel requiere casi ninguna configuración adicional desde el inicio. ¡Puede comenzar a desarrollar de inmediato! Sin embargo, puede que desee revisar el archivo config/app.php y su documentación. Contiene varias opciones como timezone y locale que puede querer ajustar según su aplicación.
#Configuración basada en el entorno
Dado que muchos valores de configuración de Laravel pueden variar dependiendo de si su aplicación se ejecuta en su máquina local o en un servidor de producción, muchos valores importantes se definen usando el archivo .env que se encuentra en la raíz de su aplicación.
Su archivo .env no debe ser comprometido en el control de versiones de su aplicación, ya que cada desarrollador o servidor que use su aplicación podría requerir una configuración de entorno diferente. Además, esto representaría un riesgo de seguridad en caso de que un intruso acceda a su repositorio, ya que se expondrían credenciales sensibles.
Para más información sobre el archivo .env y la configuración basada en el entorno, consulte la documentación completa de configuración.
#Bases de datos y migraciones
Ahora que ha creado su aplicación Laravel, probablemente quiera almacenar datos en una base de datos. Por defecto, el archivo de configuración .env de su aplicación especifica que Laravel interactuará con una base de datos MySQL y accederá a ella en 127.0.0.1.
Si desarrolla en macOS y necesita instalar MySQL, Postgres o Redis localmente, considere usar DBngin.
Si no desea instalar MySQL o Postgres en su máquina local, siempre puede usar una base de datos SQLite. SQLite es un motor de base de datos pequeño, rápido y autónomo. Para comenzar, actualice su archivo .env para usar el driver sqlite de Laravel. Puede eliminar las otras opciones de configuración de base de datos:
DB_CONNECTION=sqlite
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Una vez configurada su base de datos SQLite, puede ejecutar las migraciones de base de datos de su aplicación, que crearán las tablas necesarias:
php artisan migrate
Si no existe una base de datos SQLite para su aplicación, Laravel le preguntará si desea crearla. Normalmente, el archivo de base de datos SQLite se creará en database/database.sqlite.
#Configuración de directorios
Laravel siempre debe servirse desde la raíz del "directorio web" configurado para su servidor web. No debe intentar servir una aplicación Laravel desde un subdirectorio del "directorio web". Hacerlo podría exponer archivos sensibles presentes en su aplicación.
#Instalación con Docker usando Sail
Queremos que sea lo más fácil posible comenzar con Laravel, sin importar su sistema operativo preferido. Por eso, existen varias opciones para desarrollar y ejecutar un proyecto Laravel en su máquina local. Aunque puede explorar estas opciones más adelante, Laravel ofrece Sail, una solución integrada para ejecutar su proyecto Laravel usando Docker.
Docker es una herramienta para ejecutar aplicaciones y servicios en pequeños "contenedores" livianos que no interfieren con el software o configuración instalada en su máquina local. Esto significa que no tiene que preocuparse por configurar o instalar herramientas de desarrollo complicadas como servidores web y bases de datos en su máquina local. Para comenzar, solo necesita instalar Docker Desktop.
Laravel Sail es una interfaz de línea de comandos ligera para interactuar con la configuración Docker predeterminada de Laravel. Sail ofrece un excelente punto de partida para construir una aplicación Laravel usando PHP, MySQL y Redis sin requerir experiencia previa con Docker.
¿Ya es un experto en Docker? ¡No se preocupe! Todo en Sail puede personalizarse usando el archivo docker-compose.yml incluido con Laravel.
#Sail en macOS
Si desarrolla en Mac y ya tiene instalado Docker Desktop, puede usar un simple comando en la terminal para crear un nuevo proyecto Laravel. Por ejemplo, para crear una nueva aplicación Laravel en un directorio llamado "example-app", puede ejecutar el siguiente comando en su terminal:
curl -s "https://laravel.build/example-app" | bash
Por supuesto, puede cambiar "example-app" en esta URL por cualquier nombre que desee; solo asegúrese de que el nombre de la aplicación contenga solo caracteres alfanuméricos, guiones y guiones bajos. El directorio de la aplicación Laravel se creará dentro del directorio desde donde ejecute el comando.
La instalación de Sail puede tardar varios minutos mientras se construyen los contenedores de la aplicación en su máquina local.
Una vez creado el proyecto, puede navegar al directorio de la aplicación y arrancar Laravel Sail. Sail proporciona una interfaz de línea de comandos sencilla para interactuar con la configuración Docker predeterminada de Laravel:
cd example-app
./vendor/bin/sail up
Una vez que los contenedores Docker de la aplicación estén en marcha, podrá acceder a la aplicación en su navegador web en: http://localhost.
Para seguir aprendiendo sobre Laravel Sail, revise su documentación completa.
#Sail en Windows
Antes de crear una nueva aplicación Laravel en su máquina Windows, asegúrese de instalar Docker Desktop. Luego, debe asegurarse de que Windows Subsystem for Linux 2 (WSL2) esté instalado y habilitado. WSL le permite ejecutar binarios Linux nativamente en Windows 10. Puede encontrar información sobre cómo instalar y habilitar WSL2 en la documentación para desarrolladores de Microsoft.
Después de instalar y habilitar WSL2, debe asegurarse de que Docker Desktop esté configurado para usar el backend WSL2.
Luego, estará listo para crear su primer proyecto Laravel. Abra Windows Terminal y comience una nueva sesión de terminal para su sistema operativo Linux WSL2. Luego, puede usar un simple comando en la terminal para crear un nuevo proyecto Laravel. Por ejemplo, para crear una nueva aplicación Laravel en un directorio llamado "example-app", puede ejecutar el siguiente comando en su terminal:
curl -s https://laravel.build/example-app | bash
Por supuesto, puede cambiar "example-app" en esta URL por cualquier nombre que desee; solo asegúrese de que el nombre de la aplicación contenga solo caracteres alfanuméricos, guiones y guiones bajos. El directorio de la aplicación Laravel se creará dentro del directorio desde donde ejecute el comando.
La instalación de Sail puede tardar varios minutos mientras se construyen los contenedores de la aplicación en su máquina local.
Una vez creado el proyecto, puede navegar al directorio de la aplicación y arrancar Laravel Sail. Sail proporciona una interfaz de línea de comandos sencilla para interactuar con la configuración Docker predeterminada de Laravel:
cd example-app
./vendor/bin/sail up
Una vez que los contenedores Docker de la aplicación estén en marcha, podrá acceder a la aplicación en su navegador web en: http://localhost.
Para seguir aprendiendo sobre Laravel Sail, revise su documentación completa.
#Desarrollo dentro de WSL2
Por supuesto, necesitará poder modificar los archivos de la aplicación Laravel que se crearon dentro de su instalación WSL2. Para ello, recomendamos usar el editor Visual Studio Code de Microsoft y su extensión oficial para Desarrollo Remoto.
Una vez instaladas estas herramientas, puede abrir cualquier proyecto Laravel ejecutando el comando code . desde el directorio raíz de su aplicación usando Windows Terminal.
#Sail en Linux
Si desarrolla en Linux y ya tiene instalado Docker Compose, puede usar un simple comando en la terminal para crear un nuevo proyecto Laravel.
Primero, si usa Docker Desktop para Linux, debe ejecutar el siguiente comando. Si no usa Docker Desktop para Linux, puede omitir este paso:
docker context use default
Luego, para crear una nueva aplicación Laravel en un directorio llamado "example-app", puede ejecutar el siguiente comando en su terminal:
curl -s https://laravel.build/example-app | bash
Por supuesto, puede cambiar "example-app" en esta URL por cualquier nombre que desee; solo asegúrese de que el nombre de la aplicación contenga solo caracteres alfanuméricos, guiones y guiones bajos. El directorio de la aplicación Laravel se creará dentro del directorio desde donde ejecute el comando.
La instalación de Sail puede tardar varios minutos mientras se construyen los contenedores de la aplicación en su máquina local.
Una vez creado el proyecto, puede navegar al directorio de la aplicación y arrancar Laravel Sail. Sail proporciona una interfaz de línea de comandos sencilla para interactuar con la configuración Docker predeterminada de Laravel:
cd example-app
./vendor/bin/sail up
Una vez que los contenedores Docker de la aplicación estén en marcha, podrá acceder a la aplicación en su navegador web en: http://localhost.
Para seguir aprendiendo sobre Laravel Sail, revise su documentación completa.
#Elección de servicios Sail
Al crear una nueva aplicación Laravel mediante Sail, puede usar la variable de consulta with para elegir qué servicios se deben configurar en el archivo docker-compose.yml de su nueva aplicación. Los servicios disponibles incluyen mysql, pgsql, mariadb, redis, memcached, meilisearch, typesense, minio, selenium y mailpit:
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
Si no especifica qué servicios desea configurar, se configurará un stack predeterminado con mysql, redis, meilisearch, mailpit y selenium.
Puede indicar a Sail que instale un Devcontainer predeterminado agregando el parámetro devcontainer a la URL:
curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash
#Soporte para IDE
Puede usar cualquier editor de código que desee para desarrollar aplicaciones Laravel; sin embargo, PhpStorm ofrece un soporte extenso para Laravel y su ecosistema, incluyendo Laravel Pint.
Además, el plugin para PhpStorm mantenido por la comunidad Laravel Idea ofrece diversas mejoras útiles para el IDE, incluyendo generación de código, autocompletado de sintaxis Eloquent, autocompletado de reglas de validación y más.
#Laravel e IA
Laravel Boost es una herramienta poderosa que conecta agentes de codificación IA con aplicaciones Laravel. Boost proporciona a los agentes IA contexto, herramientas y directrices específicas de Laravel para que puedan generar código más preciso, específico para la versión y que siga las convenciones de Laravel.
Al instalar Boost en su aplicación Laravel, los agentes IA obtienen acceso a más de 15 herramientas especializadas, incluyendo la capacidad de conocer qué paquetes usa, consultar su base de datos, buscar en la documentación de Laravel, leer registros del navegador, generar pruebas y ejecutar código vía Tinker.
Además, Boost da acceso a los agentes IA a más de 17,000 piezas de documentación vectorizada del ecosistema Laravel, específicas para las versiones de paquetes instaladas. Esto significa que los agentes pueden ofrecer orientación dirigida a las versiones exactas que usa su proyecto.
Boost también incluye directrices IA mantenidas por Laravel que incentivan a los agentes a seguir las convenciones del framework, escribir pruebas adecuadas y evitar errores comunes al generar código Laravel.
#Instalación de Laravel Boost
Boost puede instalarse en aplicaciones Laravel 10, 11 y 12 que usen PHP 8.1 o superior. Para comenzar, instale Boost como dependencia de desarrollo:
composer require laravel/boost --dev
Una vez instalado, ejecute el instalador interactivo:
php artisan boost:install
El instalador detectará automáticamente su IDE y agentes IA, permitiéndole elegir las funciones que tengan sentido para su proyecto. Boost respeta las convenciones existentes del proyecto y no impone reglas de estilo por defecto.
Para aprender más sobre Boost, visite el repositorio Laravel Boost en GitHub.
#Próximos pasos
Ahora que ha creado su proyecto Laravel, probablemente se pregunte qué aprender a continuación. Primero, le recomendamos familiarizarse con cómo funciona Laravel leyendo la siguiente documentación:
Cómo desea usar Laravel también dictará los próximos pasos en su camino. Existen varias formas de usar Laravel, y exploraremos dos casos principales a continuación.
¿Nuevo en Laravel? Visite el Laravel Bootcamp para un recorrido práctico por el framework mientras le guiamos en la creación de su primera aplicación Laravel.
#Laravel como framework full stack
Laravel puede servir como un framework full stack. Por "full stack" queremos decir que usará Laravel para enrutar solicitudes a su aplicación y renderizar su frontend mediante plantillas Blade o una tecnología híbrida de aplicación de una sola página como Inertia. Esta es la forma más común de usar Laravel y, en nuestra opinión, la más productiva.
Si planea usar Laravel de esta manera, puede consultar nuestra documentación sobre desarrollo frontend, routing, vistas o el Eloquent ORM. Además, podría interesarle aprender sobre paquetes comunitarios como Livewire e Inertia. Estos paquetes le permiten usar Laravel como framework full stack mientras disfruta de muchos beneficios de UI que ofrecen las aplicaciones JavaScript de una sola página.
Si usa Laravel como framework full stack, también le recomendamos aprender a compilar el CSS y JavaScript de su aplicación usando Vite.
Si desea un inicio rápido para construir su aplicación, consulte uno de nuestros starter kits oficiales.
#Laravel como backend API
Laravel también puede servir como backend API para una aplicación JavaScript de una sola página o una aplicación móvil. Por ejemplo, podría usar Laravel como backend API para su aplicación Next.js. En este contexto, puede usar Laravel para proporcionar autenticación y almacenamiento/recuperación de datos para su aplicación, mientras aprovecha servicios potentes de Laravel como colas, correos, notificaciones y más.
Si planea usar Laravel de esta manera, puede consultar nuestra documentación sobre routing, Laravel Sanctum y el Eloquent ORM.
¿Necesita un inicio rápido para montar su backend Laravel y frontend Next.js? Laravel Breeze ofrece un stack API así como una implementación frontend Next.js para que pueda comenzar en minutos.