Índice del artículo
Si desarrollas páginas web con PHP, posiblemente necesitarás tarde o temprano instalar «Composer»
¿Qué es Composer?
Si estas empezando en la programación web con PHP y todavía no sabes que es composer, te lo explico ahora mismo de la manera mas fácil. Composer es un «programa», o una herramienta de PHP para administrar dependencias o librerías. Por ejemplo:
Estas creando una alicación web que es una red social de fotos, y necesitas que las imágenes cuando se suban al servidor por parte del usuario, se redimensionen, se recorten a una proporción de 3:4 y se optimicen. Buscas alguna solución en Google y encuentras un usuario que ha creado una librería para PHP que hace exactamente eso (y mucho mas) y la pone a disposición del público porque es muy buena persona.
Tu te la quieres instalar, ya que se adapta perfectamente a lo que necesitas, así que puedes hacerlo de dos formas:
1. Instalar libreria PHP de forma manual
Te descargas la librería de ese megahacker que la ha creado y la instalas en tu ordenador. Ahora te vas a tu proyecto de PHP y la implementas en la función en la que necesitas usar dicha librería, pero cuando vas a ejecutar tu proyecto, te das cuenta que te empieza a aparecer errores por todos lados, y tu no tienes ni idea de por qué está sucediendo ésto.
El problema es que la librería que ha creado el megahacker hace uso de otras librerías externas, las cuales no estan en tu computadora. Así que ahora te toca ir mirando uno por uno los errores e ir instalando una por una las librerías que hacen falta para que funcione la librería que te hacía falta a tí.
Como puedes ver esto es poco eficiente. Y ahí entra en juego la forma número 2:
2. Instalar librería con Composer
El escenario es el mismo, necesitas instalar una librería de tratamiento de imágenes, pero esta vez no quieres tirarte una hora instalando todas las librerías que usa la librería que necesitas. Para esto está Composer. Con Composer, simplemente tendríamos que teclear en un terminal el siguiente código:
composer require libreriaImagen/libreriaimagen
Una vez tecleado el código, composer se encargaría de instalar la librería de imagenes, y todas las librerías adicionales que hicieran falta para que esta libreriaImagenes funcionara correctamente.
Como puedes ver este procedimiento es mucho mas eficiente por tres motivos principalmente:
- No tienes que ir instalando librería por librería.
- Evitas el riesgo de olvidarte alguna librería por instalar.
- El tiempo empleado es muchísimo menor
¿Para que sirve Composer?
Una vez explicado que es Composer veamos algunos ejemplos de para que sirve composer.
- Para instalar y actualizar librerias de terceros.
- Para instalar y mantener actualizados frameworks de PHP
Aunque haya solo dos ejemplos, éstos engloban muchísimas situaciones que se dan constantemente en el trabajo de un programador web.
¿Cómo instalar composer para MAC?
Para instalar composer en Mac se siguen los siguientes pasos. Se hace a través de una consola con el siguiente comando:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
La exlpicación del comando es muy sencilla. Te la explico a continuación:
La primera linea:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Lo que hace php -r es ejecutar un código php desde la propia terminal. Y el código php que lanza es lo que viene entre comillas «copy ( ‘ht… … hp’ ) ;». y lo que hace esa funcion copy es descargar el instalador desde composer.org y lo renombre a composer-setup.php
La segunda linea del script :
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
lo que hace es comprobar con un if si el instalador que se ha descargado esta completo y es correcto al comprobar que el hash sea el que tiene que ser. En caso de que así sea, simplemente lanza un mensaje de que se ha verificado el instalador, y en caso de que no se haya descargado correctamente (esté corrupto), te lo dice y lo elimina.
La tercera linea:
php composer-setup.php
lanza el instalador de composer.
y por último la 4 linea:
php -r "unlink('composer-setup.php');"
lo único que hace es eliminar el instalador descargado.
¿Dónde instalar composer en Mac?
Hay que tener en cuenta que al ejecutar este script, el ejecutable de composer, se instala en el propio directorio (carpeta) en la que estaba ubicada la terminal. Así que si queremos usar composer ahora mismo, para ejecutarlo, tendríamos que abrir la terminal y movernos al directorio donde se encuentra el archivo composer.phar para posteriormente ejecutarlo con el comando:
./composer.phar
Pero en realidad esta forma de trabajar no es muy cómoda. Lo ideal es poder ejecutar composer desde cualquier directorio o carpeta de nuestra computadora. Para poder hacer eso tenemos que instalar composer en un directorio de uso global.
Para ello simplemente tenemos que copiar el archivo composer.phar a un directorio de uso global como por ejemplo /usr/local/bin
Podemos moverlo directamente desde la terminal, ya que el directorio /usr/local/bin es un directorio oculto y no lo verás desde el Finder. Para moverlo nos vamos a la terminal de nuevo, y nos colocamos en el directorio en el que esta el archivo composer.phar, y tecleamos:
mv composer.phar /usr/local/bin/composer
Aprovechamos en el mismo comando anterior, para cambiar el nombre de composer.phar a composer simplemente.
Una vez hecho esto esto podremos ejecutar composer desde cualquier directorio de nuestro Mac con simplemente teclera en la terminal:
composer
¿Cómo instalar composer para Linux?
Para instalar composer en Linux simplemente hay que seguir los mismos pasos que para instalar composer en Mac:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
La explicación del comando está explicado en el apartado «¿Cómo instalar composer en Mac?»
¿Dónde se instala composer en Linux?
Al igual que pasa con Mac, composer en linux se instala en el directorio en el cual ejecutas el comando de instalación. Lo ideal es moverlo al directorio /usr/local/bin con el comando:
mv composer.phar /usr/local/bin/composer
¿Cómo instalar composer para Windows?
Para instalar Composer en Windows la mejor manera y mas fácil es descargando el instalador de la web oficial. Una vez descargado se instala como cualquier programa en Windows (ejecutar, siguiente, siguiente, …. fin)
¿Dónde se instala composer en Windows?
A diferencia de Composer para Mac en Windows composer está instalado en C:/composer/
En este caso, el instalador ya se ha encargado de mover composer al PATH para que se pueda ejecutar desde cualquier directorio en el que estés ubicado con la terminal.
¿Cómo funciona composer?
Ahora que ya tenemos instalado composer, vamos a probarlo.
Composer, ¿cómo empezar?
Lo primero que haremos será comprobar que efectivamente esta instalado y añadido al PATH de Windows o a un directorio de uso global en MAC o Linux.
Para ello abrimos una terminal y ejecutamos composer simplemente escribiendo:
composer
Lo que hará este comando es ejecutar composer aunque te dirá que te faltan comandos para que ejecute alguna acción. Te mostrará una pantalla como esta:
¿Cómo instalar una librería con composer?
Lo primero que tienes que tener en cuenta, es que las librerías se instalan en el directorio o carpeta en el que está ubicado la terminal cuando lanzas el comando composer. Por lo tanto, si estamos creando un proyecto de nuestra mega red social, y este proyecto está ubicado en c:/xampp/htdocs/megaredsocial, y queremos instalar la libreria de las imagenes en el subdirectorio «librerias» tendremos que ir con el terminal hasta esa ruta:
cd C:\xampp\htdocs\megaredsocial\librerias
Una vez dentro del directorio librerias, ponemos el comando de:
composer require libreriaImagenes
y cambiamos libreriaImagenes por el nombre de la librería que necesites en tu proyecto.
Automáticamente composer se conectará internet y descargará la librería libreriaImagenes en la carpeta librerias.
Lo único que te quedará por hacer en tu proyecto será requerir con un require la libreriaImagenes para que todo funcione correctamente.
0 comentarios