Laravel es un moderno framework PHP que incorpora sustantivas mejoras al desarrollo web tradicional de aplicaciones en PHP. Aquí veremos cómo instalar el frameworks y establecer un efectivo entorno de desarrollo.
Este artículo, no toca el tema de la manera instalar Laravel en un entorno de producción de modo automatizado, en populares servicios de hosting como: Linode o DigitalOcean, usando scripts especialmente preparados para tal propósito.
Requerimientos de Laravel
Hay varias maneras de instalar el framework PHP Laravel, algunas de ellas mencionadas en su documentación oficial de Laravel 5.2. Sin embargo, en este artículo lo haremos de modo de establecer un entorno de desarrollo efectivo.
Requerimientos:
- Un stack de desarrollo tipo Apache, MySQL y PHP: Para tal efecto podemos instalarlo directamente dentro de nuestro sistema operativo, en el caso de Microsoft Windows algunas populares opciones son Xampp o Wamp. Si no deseamos hacerlo de este modo, también disponemos de la opción de crear una máquina virtual VM usando el software Oracle VirtualBox u otro software de virtualización.
- El software de control de versiones Git: Instalar un software de control de versiones es un aspecto indispensable en un entorno de desarrollo profesional. Instalar Git es muy sencillo, se descarga desde: https://git-scm.com/ donde se localiza el archivo instalador para Windows.
- El software de gestión de paquetes llamado Composer: Composer lo podemos descargar desde: https://getcomposer.org/download/, esto es necesario puesto que Lavarel incluye dependencias de paquetes de software de terceros.
Al instalar todos programas mencionados, tendremos todos los ingredientes necesarios para iniciar el proceso de instalación de Laravel localmente.
Procedimiento
Configurando un entorno de desarrollo web
Disponiendo ya de un stack como Wamp (en el caso de windows) que trae todo lo necesario para instalar un servidor web local (Apache) con la base de datos MySQL y PHP, procedemos a instalar Git accediendo a su página y Composer.
Laravel 5.2 requiere una versión de PHP 5.5.9 o superior, además tener activado el componente MCrypt de PHP. En versiones modernas de PHP esto viene frecuentemente activado por defecto.
Una vez concluido el proceso anterior, abrimos la terminal de git llamada Git Bash (para el caso de windows) y nos ubicamos en la carpeta de publicación de nuestro servidor web, en el caso de una instalación estandar de Wamp la ruta de la carpeta de publicación web será ‘C:\wamp\www’.
Instalando Laravel
Para lograr la instalación de Laravel, procedemos dentro del terminal Git Bash a ejecutar el comando:
cd /c/wamp/www
Ubicados en la carpeta anterior dentro de la terminal Git Bash, clonamos (copiamos) el respositorio de Laravel desde GitHub, usando el comando:
git clone https://github.com/laravel/laravel.git mi_proyecto_laravel
Este comando creará una copia local de Laravel en la carpeta mi_proyecto_laravel
en la ruta C:\wamp\www\mi_proyecto_laravel
. Ahora, nos ubicamos dentro de nuestra instalación de Laravel, para tal efecto escribimos en la terminal Git Bash:
cd /c/wamp/www/mi_proyecto_laravel
Acto seguido instalamos las dependencias de Laravel con el comando:
composer install
La instrucción anterior se encargará de leer un archivo con el nombre composer.json, en donde se indica los paquetes de terceros que se deben descargar. En el caso de Lavarel, se instalan las dependencias en la carperta vendors.
Una vez instalada todas las dependencias, se puede comprobar la instalación desde la propia terminal (sin pasar por el servidor Apache) usando uno de los comandos de línea que suministra Laravel:
php artisan serve
El comando anterior nos entregará la dirección de un servidor web de prueba, y escribiendo esa url en el navegador podremos comprobar que Laravel se encuentra correctamente instalado.
Conclusión
La instalación de Laravel descrita en este artículo es simple, lo único que pudiera parecer algo curioso es el uso del gestor de paquetes (resolvedor de dependencias) Composer, sobre todo si somos desarrolladores acostumbrados a pequeños frameworks que pueden trabajar con versiones antigua de PHP como Codeigniter. Sin embargo, un software de gestión de dependencias es un recurso tremendamente valioso.
En los frameworks modernos, se trata de seguir el principio de “no reinvertar la rueda”, así se incorpora código de terceros de calidad. Por ejemplo, Laravel utiliza algunas librerías del framework Symfony. Es decir, Laravel presenta dependencias de otros recursos de PHP.
Si no contáran con un software para resolver esas dependencias, tendríamos que incluir todo el código de terceros en la propia descarga del framework. Sin embargo, las desventajas de ese procedimiento se expresarían en:
- ¿Qué sucede si una librería externa a Laravel a liberado una nueva versión? corrigiendo algún bugs e incorporando mejoradas funcionalidades, o actualizando sus depencias de otras librerías.
- O qué sucede si usted ya ha creado sus propios recursos para Laravel y desea usarlos en otros proyectos, pero no desea hacer incurrit en su instalación en forma manual una y otra vez.
Además, consideremos que la gran mayoría de los recursos de PHP se manejan actualmente en repositorios públicos valiéndose de sistemas de control de versiones, tal es el caso de servicios como GitHub y BitBucket. Entonces… ¿Por qué no usar estas facilidades para manejar las dependencias? Es esta la utilidad que presenta el uso de Composer en nuestros desarrollos con PHP.
Composer requiere PHP 5.3.2+ para funcionar.
Otros recusos útiles para Laravel
- Lumen un microframework PHP basado en Laravel, similar a lo que es Silex de Symfony.
- Paquetes disponibles para Laravel: http://packalyst.com/
- Guía para desarrollar paquetes para Laravel: https://laravel.com/docs/4.2/packages
Composer es una herramienta multiplataforma, en consecuencia puede correr en: Windows, Linux o OS X. Todo la información para su instalación se encuentra en: http://getcomposer.org/doc/00-intro.md#installation-nix.
Por último, existe una forma alternativa de instalar el Framework Laravel usando solamente la herramienta Composer, usando el comando:
composer create-project --prefer-dist laravel/laravel mi_proyecto_laravel