Instalacion de Laravel 11
Instalación
Conociendo 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 tu aplicación, permitiéndote enfocarte en crear algo increíble mientras nosotros nos encargamos de los detalles.
Laravel se esfuerza por proporcionar una experiencia de desarrollo increíble mientras ofrece características poderosas 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 seas nuevo en los frameworks web de PHP o tengas 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 impulso mientras llevas tu experiencia al siguiente nivel. No podemos esperar a ver lo que construyes.
¿Nuevo en Laravel? Echa un vistazo al Laravel Bootcamp para un recorrido práctico por el framework mientras te guiamos a través de la construcción de tu primera aplicación Laravel.
¿Por qué Laravel?
Hay una variedad de herramientas y frameworks disponibles para ti al construir una aplicación web. Sin embargo, creemos que Laravel es la mejor opción para construir aplicaciones web modernas y completas.
Un Framework Progresivo
Nos gusta llamar a Laravel un framework «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 tutoriales en video de Laravel te ayudarán a aprender 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 más. Laravel está afinado para construir aplicaciones web profesionales y listo para manejar cargas de trabajo 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 rápidos como Redis, la escalabilidad horizontal con Laravel es muy sencilla. De hecho, las aplicaciones Laravel se han escalado fácilmente para manejar cientos de millones de solicitudes por 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 sin servidor de AWS.
Un Framework Comunitario
Laravel combina los mejores paquetes en el ecosistema PHP para ofrecer el framework más robusto y amigable para desarrolladores 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 contribuidor de Laravel.
Creando un Proyecto Laravel
Antes de crear tu primer proyecto Laravel, asegúrate de que tu máquina local tenga PHP y Composer instalados. Si estás desarrollando en macOS o Windows, PHP, Composer, Node y NPM se pueden instalar en minutos a través de Laravel Herd.
Después de haber instalado PHP y Composer, puedes crear un nuevo proyecto Laravel a través del 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. El instalador de Laravel te permite seleccionar tu framework de pruebas preferido, base de datos y kit de inicio al crear nuevas aplicaciones:
composer global require laravel/installer
laravel new example-app
Una vez que el proyecto ha sido creado, inicia el servidor de desarrollo local de Laravel usando el comando serve de Laravel Artisan:
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 comenzar a dar tus próximos pasos en el ecosistema Laravel. Por supuesto, también puedes querer configurar una base de datos.
Si deseas un comienzo rápido al desarrollar tu aplicación Laravel, considera usar uno de nuestros kits de inicio. Los kits de inicio de Laravel proporcionan andamiaje de autenticación de backend y frontend para tu nueva aplicación Laravel.
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 siéntete libre de revisar los archivos y familiarizarte con las opciones disponibles para ti.
Laravel casi no necesita configuración adicional fuera de la caja. ¡Eres libre de comenzar a desarrollar! Sin embargo, puede que desees revisar el archivo config/app.php y su documentación. Contiene varias opciones como zona horaria y localización que puedes querer 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 usando el archivo .env que existe en la raíz de tu aplicación.
Tu archivo .env no debe ser comprometido en el control de versiones 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 versiones, ya que cualquier credencial sensible estaría expuesta.
Para 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 quieras 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 SQLite.
Durante la creación del proyecto, Laravel creó un archivo database/database.sqlite para ti y ejecutó las migraciones necesarias para crear las tablas de la base de datos de la aplicación.
Si prefieres usar otro controlador de base de datos como MySQL o PostgreSQL, puedes actualizar el archivo de configuración .env para usar la base de datos apropiada. Por ejemplo, si deseas usar MySQL, actualiza las variables DB_* de tu archivo de configuración .env de la siguiente manera:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Si eliges usar una base de datos diferente a SQLite, necesitarás crear la base de datos y ejecutar las migraciones de la base de datos de tu aplicación:
php artisan migrate
Si estás desarrollando en macOS o Windows y necesitas instalar MySQL, PostgreSQL o Redis localmente, considera usar Herd Pro.
Configuración del Directorio
Laravel siempre debe ser servido 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.
Instalación Local Usando Herd
Laravel Herd es un entorno de desarrollo nativo y rápido para Laravel y PHP en macOS y Windows. Herd incluye todo lo que necesitas para comenzar con el desarrollo de Laravel, incluyendo PHP y Nginx.
Una vez que instales Herd, estarás listo para comenzar a desarrollar con Laravel. Herd incluye herramientas de línea de comandos para php, composer, laravel, expose, node, npm y nvm.
Herd Pro aumenta Herd con características adicionales poderosas, como la capacidad de crear y gestionar bases de datos locales MySQL, Postgres y Redis, así como la visualización de correos locales y el monitoreo de registros.
Herd en macOS
Si desarrollas en macOS, puedes descargar el instalador de Herd desde el sitio web de Herd. El instalador descarga automáticamente la última versión de PHP y configura tu Mac para que siempre ejecute Nginx en segundo plano.
Herd para macOS usa dnsmasq para soportar directorios «aparcados». Cualquier aplicación Laravel en un directorio aparcado será servida automáticamente por Herd. Por defecto, Herd crea un directorio aparcado en ~/Herd y puedes acceder a cualquier aplicación Laravel en este directorio en el dominio .test usando su nombre de directorio.
Después de instalar Herd, la forma más rápida de crear un nuevo proyecto Laravel es usando la CLI de Laravel, que viene incluida con Herd:
cd ~/Herd
laravel new my-app
cd my-app
herd open
Por supuesto, siempre puedes gestionar tus directorios aparcados y otras configuraciones de PHP a través de la interfaz de usuario de Herd, que se puede abrir desde el menú de Herd en tu bandeja del sistema.
Puedes aprender más sobre Herd consultando la documentación de Herd.
Herd en Windows
Puedes descargar el instalador para Windows de Herd en el sitio web de Herd. Después de que la instalación termine, puedes iniciar Herd para completar el proceso de incorporación y acceder a la interfaz de usuario de Herd por primera vez.
La interfaz de usuario de Herd es accesible haciendo clic izquierdo en el icono de la bandeja del sistema de Herd. Un clic derecho abre el menú rápido con acceso a todas las herramientas que necesitas a diario.
Durante la instalación, Herd crea un directorio «aparcado» en tu directorio de inicio en %USERPROFILE%\Herd. Cualquier aplicación Laravel en un directorio aparcado será servida automáticamente por Herd, y puedes acceder a cualquier aplicación Laravel en este directorio en el dominio .test usando su nombre de directorio.
Después de instalar Herd, la forma más rápida de crear un nuevo proyecto Laravel es usando la CLI de Laravel, que viene incluida con Herd. Para comenzar, abre Powershell y ejecuta los siguientes comandos:
cd ~\Herd
laravel new my-app
cd my-app
herd open
Puedes aprender más sobre Herd consultando la documentación de Herd para Windows.
Instalación de Docker Usando Sail
Queremos que sea lo más fácil posible comenzar 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 puedes 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 ligeros 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 instalar 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 ligera 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 con Docker.
¿Ya eres un experto en Docker? ¡No te preocupes! Todo sobre Sail se puede personalizar usando el archivo docker-compose.yml incluido con Laravel.
Sail en macOS
Si estás desarrollando en una Mac y Docker Desktop ya está instalado, puedes usar 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 cualquier nombre que desees; solo asegúrate de que el nombre de la aplicación solo contenga 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 tardar varios minutos mientras los contenedores de la aplicación Sail se construyen en tu máquina local.
Después de que el proyecto haya sido creado, 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 los contenedores Docker de la aplicación hayan comenzado, debes ejecutar las migraciones de la base de datos de tu aplicación:
./vendor/bin/sail artisan migrate
Finalmente, 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.
Sail en Windows
Antes de crear una nueva aplicación Laravel en tu máquina con Windows, asegúrate de instalar Docker Desktop. Luego, debes asegurarte de que Windows Subsystem for Linux 2 (WSL2) esté instalado y habilitado. WSL permite ejecutar binarios de Linux de forma nativa en Windows 10. La información sobre cómo instalar y habilitar WSL2 se puede encontrar en la documentación del entorno de desarrollo de Microsoft.
Después de instalar y habilitar WSL2, debes asegurarte de que Docker Desktop esté configurado para usar 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. Luego, puedes usar 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 cualquier nombre que desees; solo asegúrate de que el nombre de la aplicación solo contenga 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 tardar varios minutos mientras los contenedores de la aplicación Sail se construyen en tu máquina local.
Después de que el proyecto haya sido creado, 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 los contenedores Docker de la aplicación hayan comenzado, debes ejecutar las migraciones de la base de datos de tu aplicación:
./vendor/bin/sail artisan migrate
Finalmente, 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.
Desarrollando Dentro de WSL2
Por supuesto, necesitarás poder modificar los archivos de la aplicación Laravel que se crearon dentro de tu instalación WSL2. Para lograr esto, recomendamos usar el editor Visual Studio Code de Microsoft y su extensión oficial para Desarrollo Remoto.
Una vez que estas herramientas estén instaladas, puedes abrir cualquier proyecto Laravel ejecutando el comando code .
desde el directorio raíz de tu aplicación usando Windows Terminal.
Sail en Linux
Si estás desarrollando en Linux y Docker Compose ya está instalado, puedes usar un simple comando de terminal para crear un nuevo proyecto Laravel.
Primero, si estás usando Docker Desktop para Linux, debes ejecutar el siguiente comando. Si no estás usando 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 por cualquier nombre que desees; solo asegúrate de que el nombre de la aplicación solo contenga 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 tardar varios minutos mientras los contenedores de la aplicación Sail se construyen en tu máquina local.
Después de que el proyecto haya sido creado, 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 los contenedores Docker de la aplicación hayan comenzado, debes ejecutar las migraciones de la base de datos de tu aplicación:
./vendor/bin/sail artisan migrate
Finalmente, 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 tus Servicios de Sail
Al crear una nueva aplicación Laravel a través de Sail, puedes usar 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, typesense, 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 stack predeterminado de mysql, redis, meilisearch, mailpit y selenium.
Puedes instruir a Sail para 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
Eres libre de usar cualquier editor de código que desees al desarrollar aplicaciones Laravel; sin embargo, PhpStorm ofrece un soporte extenso para Laravel y su ecosistema, incluyendo Laravel Pint.
Además, el plugin Laravel Idea para PhpStorm, mantenido por la comunidad, ofrece una variedad de mejoras útiles para el IDE, incluyendo generación de código, autocompletado de sintaxis de Eloquent, autocompletado de reglas de validación y más.
Próximos Pasos
Ahora que has creado tu proyecto Laravel, puede que te preguntes qué aprender a continuación. Primero, recomendamos encarecidamente familiarizarte con cómo funciona Laravel leyendo la siguiente documentación:
- Ciclo de Vida de la Solicitud
- Configuración
- Estructura del Directorio
- Frontend
- Contenedor de Servicios
- Facades
Cómo deseas usar Laravel también dictará los próximos pasos en tu viaje. Hay una variedad de formas de usar Laravel, y exploraremos dos casos de uso principales para el framework a continuación.
¿Nuevo en Laravel? Echa un vistazo al Laravel Bootcamp para un recorrido práctico por el framework mientras te guiamos a través de la construcción de tu primera aplicación Laravel.
Laravel como Framework Full Stack
Laravel puede servir como un framework full stack. Por «full stack» nos referimos a que vas a usar Laravel para enrutar solicitudes a tu aplicación y renderizar tu frontend a través de 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 el framework Laravel y, en nuestra opinión, la forma más productiva de usar Laravel.
Si este es el modo en que planeas usar Laravel, puede que desees consultar nuestra documentación sobre desarrollo frontend, enrutamiento, vistas o el ORM Eloquent. Además, podrías estar interesado en aprender sobre paquetes comunitarios como Livewire e Inertia. Estos paquetes te permiten usar Laravel como un framework full stack mientras disfrutas de muchos de los beneficios de la interfaz de usuario proporcionados por aplicaciones JavaScript de una sola página.
Si estás usando Laravel como un framework full stack, también te recomendamos encarecidamente que aprendas a compilar el CSS y JavaScript de tu aplicación usando Vite.
Si deseas comenzar a construir tu aplicación rápidamente, echa un vistazo a uno de nuestros kits de inicio de aplicaciones oficiales.
Laravel como Backend de API
Laravel también puede servir como un backend de API para una aplicación JavaScript de una sola página o una aplicación móvil. Por ejemplo, podrías 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, mientras también aprovechas los poderosos servicios de Laravel como colas, correos electrónicos, notificaciones y más.
Si este es el modo en que planeas usar Laravel, puede que desees consultar nuestra documentación sobre enrutamiento, Laravel Sanctum y el ORM Eloquent.
¿Necesitas un comienzo rápido para crear tu backend Laravel y frontend Next.js? Laravel Breeze ofrece un stack de API así como una implementación de frontend Next.js para que puedas comenzar en minutos.