Introducción a Composer

Composer

Comparte en

Aquí en Rimorsoft Online enseñamos Laravel y PHP... Y para hacer las cosas bien como instituto, y seguir buenas prácticas debo darte a conocer de mejor manera a Composer.


Composer resuelve el problema de tener que ir a buscar a Google las librerías para nuestros proyectos. En el pasado escribiamos en Google algo así "cómo generar PDF en PHP", nos aparecía el listado estándar y comenzabamos a descargar, descomprimir y probar hasta que alguno funcione. Ahora tenemos a Packagist que es el repositorio principal de Composer.

Recuerda: En Composer escribimos los comandos y él busca en Packagist para su respectiva descarga, puedes ir y probar, ve a https://packagist.org/ escribe PDF y verás la lista de paquetes que puedes descargar y usar, además verás los comandos que debes usar y la documentación necesaria.

Composer es un increíble manejador de paquetes, dependencias... Es realmente increible, este sistema descarga el paquete y si este tiene dependencia entonces también las descarga. Ejemplo: Si vamos a instalar el paquete dompdf/dompdf usamos el comando composer require dompdf/dompdfy ya.. Sin embargo, composer detecta que tiene dependencias y las instala sin mayor trauma, problema y horas extra de trabajo.

Para instalar composer debes ir a la página oficial https://getcomposer.org/ y seguir sus indicaciones dependiendo del sistema operativo que estés usando.

Ten en cuenta que composer es una herramienta para la instalación y administración de dependencias en PHP (nada de Java, Python, C#, JavaScript, etc). Esta herramienta funciona porque hay un archivo en tu proyecto llamado composer.json donde declaras las librerias o paquetes de las que depende tu proyecto y las administrará es decir, las instalará o actualizará con éxito.

Gestión de dependencia

Cuando instalas o actualizas, Composer usa por lo general un directorio llamado vendor dentro de tu proyecto (revisa un proyecto de laravel para que observes dicha carpeta). Por defecto no instala nada globalmente, todo lo instala en tu proyecto web. Composer no es una idea nueva, está fuertemente inspirada en npm de https://nodejs.org/es/ y otras tecnologías parecidas.

De hecho me has visto usar npm y composer en varios videos del canal :)

Digamos que (para cerrar la idea) tenemos un proyecto que depende de varias librerias o paquetes y, varias de esas librerias dependen de otras. Composer detecta y descubre lo que necesitamos y los instala (lo que significa que los descarga en tu proyecto y los guarda sin mayor problema en la famosa carpeta vendor).

Ejemplo del archivo composer.json

{
    "name": "proveedor/paquete",
    "type": "library",
    "description": "Ejemplo de una descripción",
    "license": "MIT",
    "authors": [
        {
            "name": "Italo Morales F",
            "email": "i@italomoralesf"
        }
    ],
    "require": {
        "barryvdh/laravel-dompdf": "0.8.*",
    }
}

En el archivo de ejemplo vemos que nuestro proyecto requiere de la instalación del paquete llamado barryvdh/laravel-dompdf, que se instalará una vez ejecutemos el comando composer install.

Sigue conectado, veremos mas post sobre Composer

Comparte en

Creado por: Venezuela Italo Morales

CEO & Founder de Rimorsoft Online

Más información


Parámetros de tipo objeto en PHP

PHP 3 comentarios

En Rimorsoft hemos ido descubriendo cómo pasar parámetros y asegurarnos de que los tipos sean correctos. Hemos visto un ejemplo muy interesante en post de funciones anónimas, pero no es lo único que podemos hacer.

Herencia de clases - PHP

PHP 4 comentarios

Esto lo entendemos mejor si nos vamos a un diccionario y buscamos la palabra heredar, hay muchas definiciones pero la que aplica es la siguiente:

Componente VUEjs en Laravel

Laravel VUE.js 2 comentarios

Curso de componentes en VUEjs y LARAVEL 5.5, la idea es programar una interfaz que consuma datos de un backend... El componente se creará y se usará desde Laravel.

Clases y Objetos en PHP

PHP 7 comentarios

Las clases nos ayudan a definir una estructura manejable y entendible de nuestro sistema, este termino da vida a los que conocemos como programación orientada a objetos (POO en español, OOP en inglés). La teoría dice, "esto significa que tratas a tu código o partes de él como objetos de la vida real y esto podría resultar muy familiar para nosotros porque nos acerca al mundo tal y como lo conocemos". Aunque parece que esto siempre es confuso.