Antes de entrar en el mundo de Laravel, es necesario conocer (al menos lo básico de) algo llamado composer.

Yo oí de ello un poco antes de conocer laravel, porque muchas librerías que quería utilizar se instalaban de esa forma, y veía en muchos lados la carpeta /vendor/ y pues, en aquel tiempo no entendía como era que esto funcionaba, al inicio creí que era algo solo para linux, por lo que descarté su uso, y siempre buscaba librerías desplegadas como siempre se ha hecho (un /src/ tal vez) o librerías ya instaladas (si requerían composer). 

Pero resulta que el concepto de composer, es muy útil; de hecho ahora me fsacina su existencia, y no es un concepto nuevo. La gestión de paquetes, está presente también en node.js, angular, java, etc. Pero composer es el gestor de paquetes para php.

Si quisiera resumir en pocas palabras lo que significa composer, diría que…


composer es una herramienta que te instala (y gestiona) las librerías que requiere un proyecto (las cuales se especifican en un archivo composer.json) y si estas librerías a su vez requieren otras, el propio composer verifica si ya están instaladas, y en caso contrario también las instala. Y declara los namespaces (referencias) de cada Clase.


Bueno, hay que especificar que composer es un gestor para php, por lo cual necesitamos tener php instalado para poder usarlo, no necesariamente tener un servidor web local (yo uso el easyphp en windows) corriendo. Cuando instalamos el composer (en windows) reconoce la ruta donde tenemos el php, e incluso se agrega al PATH, para poder invocarlo desde la consola de windows.

Para resumir, y poder entender la utilidad del composer… Imaginemos que tenemos un proyecto web (por ejemplo en laravel) que queremos enviarle a alguien por correo (o en una memoria externa) veremos que mayormente, el mayor espacio lo ocupan las librerías (en laravel algo de 15Mb) y el código real (que es en si la aplicación) puede no pasar de 1Mb. Entonces con el composer, lo que puedes hacer es pasar solo el código real, y un composer.json donde especifica las librerías a usar. Luego la persona que recibe el proyecto ejecuta el comanto composer install, y aquí el composer instala todas las librerías necesarias. Claro que las siguientes veces bastará con pasar el código real solamente.

¿Facilita muchas cosas? Por supuesto, permite enviar proyectos por correo, o cargarlos rapidamente en una memoria externa, y si usamos algun repositorio (como github) podemos tener sincronizado solamente el código real, mas no las librerías (que tampoco es necesario).

Esta es una vista rápida a lo que es composer, en la siguiente entrada hablaré sobre como instalarlo en windows, y las formas en las que se puede invocar… (no hay solo una… y he tenido que usar hasta las más rudimentarias, por así decirlo).