Comprende el archivo composer.json
Clase 28 de 33 • Curso Avanzado de Laravel
Composer se ha convertido en una herramienta de cabecera para cualquier desarrollador PHP que aprecie su tiempo y el desarrollo ágil. Composer, como ya lo sabemos, se centra en un archivo llamado composer.json.
Dentro de un JSON se puede definir la estructura del documento, así como los valores posibles que tengan cada uno de sus campos. La dirección concreta donde puedes encontrar la descripción completa del schema del composer.json la encuentras aquí: https://getcomposer.org/doc/04-schema.md.
En esta clase vamos a estudiar los más conocidos. Recuerda que el archivo composer.json se encuentra por defecto en la raíz del proyecto.
name:
Sirve para indicar el nombre del autor, se compone de dos partes, el "vendor" (la empresa o nick del desarrollador o grupo que lo ha creado) y el nombre del proyecto propiamente dicho. Por supuesto, un vendor puede crear diversas librerías o paquetes y quedarían todas vinculadas al mismo vendor con nombres de proyectos distintos.
- description:
Es la descripción que ofrecemos de este paquete. Es un texto normalmente de una única línea.
- homepage:
Una URL del sitio web del proyecto.
- authors:
Es un array con los autores del proyecto. Cada uno de los elementos de ese array es a su vez un objeto JSON donde se pueden indicar distintos datos: name, email, homepage, role (rol dentro del proyecto).
"authors": [ { "name": "Sergio Ojeda", "email": "soj3da@gmail.com", "homepage": "http://www.desarrolloweb.com", "role": "Developer" }, { "name": "Ari Juanico", "role": "Beta tester" } ]
-
license: en este se indica el tiempo de licencia del proyecto.
-
conflict: enumera los paquetes que entran en conflicto con la versión de nuestro paquete. No se permitirá instalar estos paquetes en nuestro paquete.
-
suggest: indica los paquetes que pueden mejorar o funcionar bien con este paquete. Esto se muestra después de nuestro paquete, indicando a los usuarios algunos de los paquetes adicionales que podrían instalar. Este también es un campo opcional.
-
autoload: proporciona un cargador automático de PHP. Los dos tipos de carga automática son "PSR-4" y "PSR-0"
-
minimum-stability: determina el mínimo de estabilidad de los paquetes que se instalarán. El valor predeterminado es "estable". Se recomienda especificar siempre esto si retransmiten en el paquete de desarrollo.
-
prefer-stable: cuando está habilitado, composer prefiere paquetes estables que los no estables. Para habilitar, usa ("prefer-stable": true).
-
repositories: define los repositorios personalizados que se utilizarán. Por defecto, el compositor usa Packagist, la definición de estos repositorios hará que el compositor busque paquetes en los repositorios especificados.
-
extra: datos adicionales, prácticamente puede ser cualquier cosa, en laravel se usa para cargar los Service Providers
"extra": { "laravel": { "dont-discover": [] } },
- scripts: composer te permite conectar varias partes del proceso de instalación mediante el uso de scripts. En esta parte se indican los scripts a ejecutarse dentro del ciclo de vida de composer e incluso para ser usado como alias de otros comandos.
https://getcomposer.org/doc/articles/scripts.md
Así como los que mencionamos, existen más tipos de configuraciones que podremos ver más en detalle en la documentación oficial.
En la siguiente clase continuaremos estudiando un poco de composer y veremos cómo funciona la autocarga de clases.