Instalación

Conoce Laravel

Laravel es un framework de aplicaciones web con una sintaxis expresiva y elegante. Un framework web proporciona una estructura y un punto de partida para la creación de su aplicación, lo que le permite centrarse en la creación de algo increíble mientras sudamos los detalles.

Laravel se esfuerza por proporcionar una experiencia de desarrollador increíble al tiempo que proporciona características de gran alcance, tales como la inyección de dependencia a fondo, una capa de abstracción de base de datos expresiva, colas y trabajos programados, pruebas unitarias y de integración, y mucho más.

Tanto si eres nuevo en los frameworks web PHP como si tienes años de experiencia, Laravel es un framework que puede crecer contigo. Te ayudaremos a dar tus primeros pasos como desarrollador web o te daremos un empujón mientras llevas tu experiencia al siguiente nivel. No podemos esperar a ver lo que construyes.

Nota ¿Eres nuevo en Laravel? Echa un vistazo a la Laravel Bootcamp para un recorrido práctico del marco mientras te guiamos a través de la construcción de su primera aplicación Laravel.

¿Por qué Laravel?

Hay una gran variedad de 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 completas.

Un Framework progresivo

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

Si eres un desarrollador senior, Laravel te ofrece herramientas robustas para inyección de dependencias, pruebas unitarias, colas, eventos en tiempo real, y mucho más. Laravel está afinado para la construcción de aplicaciones web profesionales y listo para manejar las cargas de trabajo de la empresa.

Un framework escalable

Laravel es increíblemente escalable. Gracias a la naturaleza escalable de PHP y al soporte integrado de Laravel para sistemas de caché rápidos y distribuidos como Redis, el escalado horizontal con Laravel es pan comido. De hecho, las aplicaciones Laravel se han escalado fácilmente para manejar cientos de millones de peticiones al mes.

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

Un framework comunitario

Laravel combina los mejores paquetes del ecosistema PHP para ofrecer el framework más robusto y fácil de desarrollar que existe. Además, miles de desarrolladores con talento de todo el mundo han contribuido al framework. Quién sabe, quizás incluso te conviertas en un contribuidor de Laravel.

Tu Primer Proyecto Laravel

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

Después de haber instalado PHP y Composer, puede crear un nuevo proyecto Laravel a través del comando Composer create-project:

composer create-project laravel/laravel example-app

O bien, puede crear nuevos proyectos Laravel mediante la instalación global del instalador de Laravel a través de Composer:

composer global require laravel/installer
 
laravel new example-app

Una vez creado el proyecto, inicia el servidor de desarrollo local de Laravel utilizando el comando serve de la CLI Artisan de Laravel:

cd example-app
 
php artisan serve

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

Si desea una ventaja al desarrollar su aplicación Laravel, considere el uso de uno de nuestros kits de inicio. Los kits de inicio de Laravel proporcionan un andamiaje de autenticación backend y frontend para tu nueva aplicación Laravel.

Laravel y Docker

Queremos que sea lo más fácil posible empezar con Laravel independientemente de tu sistema operativo preferido. Por lo tanto, hay una variedad de opciones para desarrollar y ejecutar un proyecto Laravel en tu máquina local. Si bien es posible que desees explorar estas opciones más adelante, Laravel proporciona Sail, una solución integrada para ejecutar tu proyecto Laravel utilizando Docker.

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

Laravel Sail es una interfaz de línea de comandos ligera para interactuar con la configuración Docker por defecto de Laravel. Sail proporciona un gran punto de partida para la construcción de una aplicación Laravel usando PHP, MySQL y Redis sin necesidad de experiencia previa en Docker.

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

Primeros pasos en macOS

Si estás desarrollando en un Mac y Docker Desktop ya está instalado, puedes utilizar un simple comando de 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 por lo que quieras sólo asegúrate de que el nombre de la aplicación sólo contiene caracteres alfanuméricos, guiones y guiones bajos. El directorio de la aplicación Laravel se creará dentro del directorio desde el que ejecutes el comando.

La instalación de Sail puede tardar varios minutos mientras se crean los contenedores de aplicaciones de Sail en su máquina local.

Una vez creado el proyecto, puede navegar hasta el directorio de la aplicación e iniciar Laravel Sail. Laravel Sail proporciona una sencilla interfaz de línea de comandos para interactuar con la configuración Docker por defecto de Laravel:

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

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

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

Primeros pasos en Windows

Antes de crear una nueva aplicación Laravel en tu máquina 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 le permite ejecutar ejecutables binarios de Linux de forma nativa en Windows 10. Encontrará información sobre cómo instalar y habilitar WSL2 en la documentación del entorno de desarrollo de Microsoft.

Después de instalar y habilitar WSL2, debe asegurarse de que Docker Desktop está configurado para utilizar el backend 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 utilizar un simple comando de 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 por lo que quieras sólo asegúrate de que el nombre de la aplicación sólo contiene caracteres alfanuméricos, guiones y guiones bajos. El directorio de la aplicación Laravel se creará dentro del directorio desde el que ejecutes el comando.

La instalación de Sail puede tardar varios minutos mientras se crean los contenedores de aplicaciones de Sail en su máquina local.

Una vez creado el proyecto, puede navegar hasta el directorio de la aplicación e iniciar Laravel Sail. Laravel Sail proporciona una sencilla interfaz de línea de comandos para interactuar con la configuración Docker por defecto de Laravel:

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

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

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 la aplicación Laravel que fueron creados dentro de tu instalación WSL2. Para ello, te recomendamos que utilices el editor Visual Studio Code de Microsoft y su extensión para Remote Development.

Una vez instaladas estas herramientas, puede abrir cualquier proyecto Laravel ejecutando el comando code . desde el directorio raíz de su aplicación utilizando el Terminal de Windows.

Primeros pasos en Linux

Si estás desarrollando en Linux y Docker Compose ya está instalado, puedes utilizar un simple comando de 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 por lo que quieras sólo asegúrate de que el nombre de la aplicación sólo contiene caracteres alfanuméricos, guiones y guiones bajos. El directorio de la aplicación Laravel se creará dentro del directorio desde el que ejecutes el comando.

La instalación de Sail puede tardar varios minutos mientras se crean los contenedores de aplicación de Sail en su máquina local.

Una vez creado el proyecto, puede navegar hasta el directorio de la aplicación e iniciar Laravel Sail. Laravel Sail proporciona una sencilla interfaz de línea de comandos para interactuar con la configuración Docker por defecto de Laravel:

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

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

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

Elegir sus servicios Sail

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

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

Si no especifica qué servicios desea configurar, se configurará una pila por defecto de mysql, redis, meilisearch, mailpit y selenium.

Puede indicar a Sail que instale un Devcontainer por defecto añadiendo 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 para el framework Laravel se almacenan en el directorio config. Cada opción está documentada, así que no dudes en echar un vistazo a los archivos y familiarizarte con las opciones disponibles.

Laravel casi no necesita configuración adicional fuera de la caja. ¡Eres libre de empezar 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 puede que desees cambiar de acuerdo a 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 utilizando el archivo .env que existe en la raíz de tu aplicación.

Su archivo .env no debe ser enviado al control de código fuente de su aplicación, ya que cada desarrollador / servidor que utilice su aplicación podría requerir una configuración de entorno diferente. Además, esto supondría un riesgo de seguridad en caso de que un intruso accediera a tu repositorio de control de código fuente, ya que cualquier credencial sensible quedaría expuesta.

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

Bases de datos y migraciones

Ahora que has creado tu aplicación Laravel, probablemente quieras almacenar algunos datos en una base de datos. Por defecto, el fichero 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 que te resulte conveniente utilizar DBngin.

Si no quieres instalar MySQL o Postgres en tu máquina local, siempre puedes utilizar una base de datos SQLite. SQLite es un motor de base de datos pequeño, rápido y autónomo. Para empezar, crea una base de datos SQLite creando un archivo SQLite vacío. Típicamente, este archivo existirá dentro del directorio database de tu aplicación Laravel:

touch database/database.sqlite

A continuación, actualiza tu fichero 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 haya configurado su base de datos SQLite, puede ejecutar las migraciones de base de datos de su aplicación, que creará las tablas de la base de datos de su aplicación:

php artisan migrate

Próximos pasos

Ahora que has creado tu proyecto Laravel, puede que te estés preguntando qué aprender a continuación. En primer lugar, te recomendamos que te familiarices con el funcionamiento de Laravel leyendo la siguiente documentación:

Cómo desea utilizar Laravel también dictará los próximos pasos en su viaje. Hay una variedad de maneras de utilizar Laravel, y vamos a explorar dos casos de uso principales para el marco de abajo.

¿Es nuevo en Laravel? Echa un vistazo a la Laravel Bootcamp para un recorrido práctico del marco mientras te guiamos a través de la construcción de su primera aplicación Laravel.

Laravel Framework Full Stack

Laravel puede servir como un framework full stack. Por framework "full stack" queremos decir que vas a usar Laravel para enrutar peticiones a tu aplicación y renderizar tu frontend vía Blade templates 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 utilizar el framework Laravel y, en nuestra opinión, la forma más productiva de utilizar Laravel.

Si esta es la forma en la que planeas usar Laravel, puede que quieras consultar nuestra documentación sobre desarrollo frontend, routing, views, o el Eloquent ORM. Además, puede que te interese conocer paquetes de la comunidad como Livewire e Inertia. Estos paquetes te permiten usar Laravel como un framework completo mientras disfrutas de muchos de los beneficios de la interfaz de usuario que proporcionan las aplicaciones JavaScript de una sola página.

Si quiere empezar a crear su aplicación, eche un vistazo a uno de nuestros kits de inicio de aplicaciones oficiales.

Laravel API Backend

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

Si esta es la forma en la que planeas usar Laravel, puede que quieras consultar nuestra documentación sobre routing, Laravel Sanctum, y el Eloquent ORM.

¿Necesitas un scaffolding inicial para tu backend Laravel y tu frontend Next.js? Laravel Breeze ofrece una API stack así como una Next.js frontend implementation para que puedas empezar en cuestión de minutos.

Última actualización

¿Te fue útil?