1. Primeros pasos
  2. Instalación

Conoce Laravel

Laravel es un marco de aplicación web con una sintaxis expresiva y elegante. Un marco web proporciona una estructura y un punto de partida para crear tu aplicación, permitiéndote enfocarte en crear algo sorprendente mientras nosotros cuidamos los detalles.

Laravel se esfuerza por proporcionar una experiencia increíble para los desarrolladores al tiempo que ofrece características potentes como una capa de abstracción de base de datos expresiva, colas y trabajos programados, pruebas unitarias e integradas, y más.

Ya sea que seas nuevo en los marcos web de PHP o tengas años de experiencia, Laravel es un marco que puede crecer contigo. Te ayudaremos a dar tus primeros pasos como desarrollador web o te daremos un impulso a medida que lleves tu experiencia al siguiente nivel. No podemos esperar a ver qué construyes.

Nota ¿Eres nuevo en Laravel? Echa un vistazo al Bootcamp de Laravel para realizar un recorrido práctico por el marco mientras te guiamos en la construcción de tu primera aplicación Laravel.

¿Por qué Laravel?

Hay una variedad de herramientas y marcos disponibles cuando construyes una aplicación web. Sin embargo, creemos que Laravel es la mejor opción para construir aplicaciones web modernas de pila completa.

Un marco de trabajo progresivo

Nos gusta llamar a Laravel un marco "progresivo". Con eso, queremos decir que Laravel crece contigo. Si estás dando tus primeros pasos en el desarrollo web, la vasta biblioteca de documentación, guías y video tutoriales de Laravel te ayudará a aprender los conceptos sin sentirte abrumado.

Si eres un desarrollador senior, Laravel te proporciona herramientas sólidas 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 de trabajo empresariales.

Un marco de trabajo escalable

Laravel es increíblemente escalable. Gracias a la naturaleza amigable para escalar de PHP y al soporte incorporado de Laravel para sistemas de caché distribuida rápidos como Redis, la escalabilidad horizontal con Laravel es muy sencilla. De hecho, las aplicaciones de Laravel se han escalado fácilmente para manejar cientos de millones de solicitudes al mes.

¿Necesitas una escalabilidad extrema? Plataformas como Laravel Vapor te permiten ejecutar tu aplicación Laravel a una escala casi ilimitada en la última tecnología serverless de AWS.

Un marco de trabajo comunitario

Laravel combina los mejores paquetes en el ecosistema PHP para ofrecer el marco más robusto y amigable para el desarrollador disponible. Además, miles de desarrolladores talentosos de todo el mundo han contribuido al framework. Quién sabe, tal vez incluso te conviertas en un contribuyente de Laravel.

Su primer proyecto Laravel

Antes de crear tu primer proyecto Laravel, debes asegurarte de que tu máquina local tenga instalados PHP y Composer. Si estás desarrollando en macOS, PHP y Composer se pueden instalar en minutos a través de Laravel Herd. Además, recomendamos instalar Node y NPM.

Después de haber instalado PHP y Composer, puedes crear un nuevo proyecto Laravel mediante el comando create-project de Composer:

composer create-project laravel/laravel example-app

O puedes crear nuevos proyectos Laravel instalando globalmente el instalador de Laravel a través de Composer. O, si instalaste PHP y Composer a través de Laravel Herd, el instalador de Laravel ya está disponible para ti:

composer global require laravel/installer
 
laravel new example-app

Después de haber creado el proyecto, inicia el servidor de desarrollo local de Laravel usando el comando serve de Artisan CLI de Laravel:

cd example-app
 
php artisan serve

Una vez que hayas iniciado el servidor de desarrollo de Artisan, tu aplicación será accesible en tu navegador web en http://localhost:8000. A continuación, estás listo para dar tus siguientes pasos en el ecosistema de Laravel. Por supuesto, también puedes querer configurar una base de datos.

Nota Si deseas comenzar rápidamente a desarrollar tu aplicación Laravel, considera usar uno de nuestros kits de inicio. Los kits de inicio de Laravel proporcionan el andamiaje de autenticación para el backend y el frontend de tu nueva aplicación Laravel.

Laravel y Docker

Queremos que sea lo más fácil posible comenzar con Laravel, independientemente de tu sistema operativo preferido. Por lo tanto, hay varias opciones para desarrollar y ejecutar un proyecto Laravel en tu máquina local. Aunque puedas explorar estas opciones más adelante, Laravel proporciona Sail, una solución integrada para ejecutar tu proyecto Laravel usando Docker.

Docker es una herramienta para ejecutar aplicaciones y servicios en "contenedores" pequeños y livianos que no interfieren con el software o la configuración instalada en tu máquina local. Esto significa que no tienes que preocuparte por configurar o establecer herramientas de desarrollo complicadas como servidores web y bases de datos en tu máquina local. Para comenzar, solo necesitas instalar Docker Desktop.

Laravel Sail es una interfaz de línea de comandos liviana para interactuar con la configuración predeterminada de Docker de Laravel. Sail proporciona un excelente punto de partida para construir una aplicación Laravel usando PHP, MySQL y Redis sin requerir experiencia previa en Docker.

Nota ¿Ya eres un experto en Docker? ¡No te preocupes! Todo sobre Sail se puede personalizar utilizando el archivo docker-compose.yml incluido con Laravel.

Empezar en macOS

Si estás desarrollando en una Mac y Docker Desktop ya está instalado, puedes 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", puedes ejecutar el siguiente comando en tu terminal:

curl -s "https://laravel.build/example-app" | bash

Por supuesto, puedes cambiar "example-app" en esta URL a cualquier cosa que desees, solo asegúrate 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 el cual ejecutes el comando.

La instalación de Sail puede tomar varios minutos mientras se construyen los contenedores de la aplicación Sail en tu máquina local.

Después de que se haya creado el proyecto, puedes navegar al directorio de la aplicación y comenzar Laravel Sail. Laravel Sail proporciona una interfaz de línea de comandos simple para interactuar con la configuración predeterminada de Docker de Laravel:

cd example-app
 
./vendor/bin/sail up

Una vez que se han iniciado los contenedores Docker de la aplicación, puedes acceder a la aplicación en tu navegador web en: http://localhost.

Nota Para seguir aprendiendo más sobre Laravel Sail, revisa su documentación completa.

Empezar en Windows

Antes de crear una nueva aplicación Laravel en tu máquina con Windows, asegúrate de instalar Docker Desktop. A continuación, debes asegurarte de que Windows Subsystem for Linux 2 (WSL2) esté instalado y habilitado. WSL te permite ejecutar ejecutables binarios de Linux de manera nativa en Windows 10. La información sobre cómo instalar y habilitar WSL2 se encuentra en la documentación del entorno de desarrollo de Microsoft.

Nota Después de instalar y habilitar WSL2, asegúrate de que Docker Desktop esté configurado para utilizar el backend de WSL2.

A continuación, estás listo para crear tu primer proyecto Laravel. Inicia Windows Terminal y comienza una nueva sesión de terminal para tu sistema operativo Linux WSL2. A continuación, puedes 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", puedes ejecutar el siguiente comando en tu terminal:

curl -s https://laravel.build/example-app | bash

Por supuesto, puedes cambiar "example-app" en esta URL a cualquier cosa que desees, solo asegúrate 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 el cual ejecutes el comando.

La instalación de Sail puede tomar varios minutos mientras se construyen los contenedores de la aplicación Sail en tu máquina local.

Después de que se haya creado el proyecto, puedes navegar al directorio de la aplicación y comenzar Laravel Sail. Laravel Sail proporciona una interfaz de línea de comandos simple para interactuar con la configuración predeterminada de Docker de Laravel:

cd example-app
 
./vendor/bin/sail up

Una vez que se han iniciado los contenedores Docker de la aplicación, puedes acceder a la aplicación en tu navegador web en: http://localhost.

Nota Para seguir aprendiendo más sobre Laravel Sail, revisa su documentación completa.

Desarrollo dentro de WSL2

Por supuesto, necesitarás poder modificar los archivos de aplicación de Laravel que se crearon en tu instalación de WSL2. Para lograr esto, recomendamos usar el editor Visual Studio Code de Microsoft y su extensión de primera parte para Desarrollo Remoto.

Una vez que estas herramientas estén instaladas, puedes abrir cualquier proyecto de Laravel ejecutando el comando code . desde el directorio raíz de tu aplicación utilizando Windows Terminal.

Empezar en Linux

Si estás desarrollando en Linux y Docker Compose ya está instalado, puedes usar un simple comando en la terminal para crear un nuevo proyecto Laravel.

Primero, si estás utilizando Docker Desktop para Linux, debes ejecutar el siguiente comando. Si no estás utilizando Docker Desktop para Linux, puedes omitir este paso:

docker context use default

Luego, para crear una nueva aplicación Laravel en un directorio llamado "example-app", puedes ejecutar el siguiente comando en tu terminal:

curl -s https://laravel.build/example-app | bash

Por supuesto, puedes cambiar "example-app" en esta URL a cualquier cosa que desees, solo asegúrate 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 el cual ejecutes el comando.

La instalación de Sail puede tomar varios minutos mientras se construyen los contenedores de la aplicación Sail en tu máquina local.

Después de que se haya creado el proyecto, puedes navegar al directorio de la aplicación y comenzar Laravel Sail. Laravel Sail proporciona una interfaz de línea de comandos simple para interactuar con la configuración predeterminada de Docker de Laravel:

cd example-app
 
./vendor/bin/sail up

Una vez que se han iniciado los contenedores Docker de la aplicación, puedes acceder a la aplicación en tu navegador web en: http://localhost.

Nota Para seguir aprendiendo más sobre Laravel Sail, revisa su documentación completa.

Elección de sus servicios Sail

Al crear una nueva aplicación Laravel a través de Sail, puedes utilizar la variable de cadena de consulta with para elegir qué servicios deben configurarse en el archivo docker-compose.yml de tu nueva aplicación. Los servicios disponibles incluyen mysql, pgsql, mariadb, redis, memcached, meilisearch, minio, selenium y mailpit:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

Si no especificas qué servicios te gustaría configurar, se configurará un conjunto predeterminado de mysql, redis, meilisearch, mailpit y selenium.

Puedes 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

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éntete libre de revisar los archivos y familiarizarte con las opciones disponibles.

Laravel necesita casi ninguna configuración adicional desde el principio. ¡Eres libre de comenzar a desarrollar! Sin embargo, es posible que desees revisar el archivo config/app.php y su documentación. Contiene varias opciones como timezone y locale que puedes cambiar según tu aplicación.

Configuración basada en el entorno

Dado que muchos de los valores de las opciones de configuración de Laravel pueden variar dependiendo de si tu aplicación se está ejecutando en tu máquina local o en un servidor web de producción, muchos valores de configuración importantes se definen mediante el archivo .env que existe en la raíz de tu aplicación.

Tu archivo .env no debe agregarse al control de origen de tu aplicación, ya que cada desarrollador/servidor que use tu aplicación podría requerir una configuración de entorno diferente. Además, esto sería un riesgo de seguridad en caso de que un intruso obtenga acceso a tu repositorio de control de origen, ya que se expondrían credenciales sensibles.

Nota Para obtener más información sobre el archivo .env y la configuración basada en el entorno, consulta la documentación completa de configuración.

Bases de datos y migraciones

Ahora que has creado tu aplicación Laravel, probablemente querrás almacenar algunos datos en una base de datos. Por defecto, el archivo de configuración .env de tu aplicación especifica que Laravel interactuará con una base de datos MySQL y accederá a la base de datos en 127.0.0.1. Si estás desarrollando en macOS y necesitas instalar MySQL, Postgres o Redis localmente, puede resultarte conveniente utilizar DBngin.

Si no quieres instalar MySQL o Postgres en tu máquina local, siempre puedes usar una base de datos SQLite. SQLite es un motor de base de datos pequeño, rápido y autónomo. Para empezar, actualiza tu archivo de configuración .env para utilizar el controlador de base de datos sqlite de Laravel. Puedes eliminar las otras opciones de configuración de la 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 que hayas configurado tu base de datos SQLite, puedes ejecutar las migraciones de base de datos de tu aplicación, que crearán las tablas de tu base de datos de la aplicación:

php artisan migrate

Si no existe una base de datos SQLite para tu aplicación, Laravel te preguntará si deseas que se cree la base de datos. Por lo general, el archivo de la base de datos SQLite se creará en database/database.sqlite.

Configuración del directorio

Laravel siempre debe servirse desde la raíz del "directorio web" configurado para tu servidor web. No debes intentar servir una aplicación Laravel desde un subdirectorio del "directorio web". Intentar hacerlo podría exponer archivos sensibles presentes dentro de tu aplicación.

Soporte de IDE

Eres libre de usar cualquier editor de código que desees al desarrollar aplicaciones Laravel; sin embargo, PhpStorm ofrece un amplio soporte para Laravel y su ecosistema, incluido Laravel Pint.

Además, el complemento Laravel Idea mantenido por la comunidad para PhpStorm ofrece una variedad de útiles ampliaciones del IDE, como generación de código, finalización de sintaxis Eloquent, finalización de reglas de validación, y más.

Próximos pasos

Ahora que has creado tu proyecto Laravel, es posible que te preguntes qué aprender a continuación. En primer lugar, te recomendamos encarecidamente familiarizarte con cómo funciona Laravel leyendo la siguiente documentación:

La forma en que deseas usar Laravel también dictará los siguientes pasos en tu camino. Hay varias formas de usar Laravel, y exploraremos dos casos de uso principales del framework a continuación.

Nota ¿Eres nuevo en Laravel? Echa un vistazo al Bootcamp de Laravel para realizar un recorrido práctico por el marco mientras te guiamos en la construcción de tu primer aplicación Laravel.

Laravel: El marco de trabajo de pila completa

Laravel puede servir como un marco de pila completa. Por "pila completa" nos referimos a que vas a usar Laravel para enrutar solicitudes a tu aplicación y representar tu frontend mediante plantillas Blade o una tecnología híbrida de aplicación de página única como Inertia. Esta es la forma más común de usar el framework Laravel y, en nuestra opinión, la forma más productiva de usar Laravel.

Si esta es la forma en que planeas usar Laravel, es posible que desees consultar nuestra documentación sobre desarrollo frontend, enrutamiento, vistas o el ORM Eloquent. Además, es posible que desees aprender sobre paquetes de la comunidad como Livewire e Inertia. Estos paquetes te permiten usar Laravel como un marco de pila completa mientras disfrutas de muchos de los beneficios de interfaz de usuario proporcionados por aplicaciones de JavaScript de página única.

Si estás utilizando Laravel como un marco de pila completa, también te recomendamos encarecidamente que aprendas a compilar el CSS y JavaScript de tu aplicación con Vite.

Nota Si quieres comenzar a construir tu aplicación rápidamente, echa un vistazo a uno de nuestros kits de inicio oficiales.

Laravel: El backend de API

Laravel también puede servir como un backend de API para una aplicación de página única o una aplicación móvil en JavaScript. Por ejemplo, puedes usar Laravel como un backend de API para tu aplicación Next.js. En este contexto, puedes usar Laravel para proporcionar autenticación y almacenamiento/recuperación de datos para tu aplicación, al tiempo que aprovechas los potentes servicios de Laravel como colas, correos electrónicos, notificaciones y más.

Si esta es la forma en que planeas usar Laravel, es posible que desees consultar nuestra documentación sobre enrutamiento, Laravel Sanctum y el ORM Eloquent.

Nota ¿Necesitas comenzar rápidamente a construir tu backend de Laravel y el frontend de Next.js? Laravel Breeze ofrece un conjunto de inicio de API y también una implementación de frontend de Next.js para que puedas empezar en minutos.