Composer es una herramienta de gestión de PHP extremadamente popular para las dependencias, que se utiliza para facilitar la instalación y las actualizaciones de los proyectos. También verifica qué otros paquetes necesita un proyecto y los obtiene automáticamente para usted, con la versión correcta.
En este documento, instalaremos y comenzaremos a usar Composer en un Vultr Ubuntu 14.04 VPS.
Requisitos
- Un Vultr Ubuntu 14.04 VPS.
- Un usuario normal con
Sudo
acceso a ese VPS.
Instalación
Instalación de dependencia
En primer lugar, debemos asegurarnos de que nuestro VPS tenga todos los requisitos de Composer instalados y funcionando correctamente.
Actualiza la lista de paquetes.
sudo apt-get update
A continuación, instale los requisitos de Composer. Necesitará curl
la descarga, y php5-cli
la instalación y uso de la misma. git
Composer también lo utiliza para descargas de requisitos del proyecto.
Instalar los requisitos.
sudo apt-get install curl php5-cli git
Descargar e instalar
Instalar Composer es muy simple.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Que descarga e instala Composer como un comando global, llamado composer
, ubicado en /usr/local/bin
. Obtendrá esta salida.
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Ejecute lo siguiente para probar la instalación.
composer
La salida será la siguiente.
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00
Usage:
command [options] [arguments]
Uso
Archivo JSON
Para usar Composer, necesita un archivo llamado composer.json
para indicarle a Composer qué requisitos tiene su proyecto y qué versión de esos requisitos debe instalar. No cree esto manualmente para evitar hacer algo incorrectamente: Composer crea el archivo por usted cuando agrega dependencias. Las dependencias adicionales también se agregan automáticamente.
Ejemplo de uso del compositor
Para usar Composer para instalaciones de dependencia:
- Identifique la biblioteca necesaria para la aplicación.
- Encuentre una buena biblioteca de código abierto en <Packagist.org>, el repositorio de Composer.
- Elige el paquete que quieras.
- Use
composer require
para incluir e instalar la dependencia.
Inicializando Slugit
Ahora veremos este proceso con una aplicación de ejemplo simple, que tomará una oración y la convertirá en una cadena amigable, llamada babosa. Esto se usa con frecuencia para convertir nombres de páginas a URL, para facilitar la generación de URL y rutas. Comenzaremos haciendo una carpeta para la aplicación, llamada slugit
.
mkdir ~/slugit
cd ~/slugit
Buscando en Packagist
Ahora continuaremos packagist.org
y encontraremos un paquete para ayudar a generar babosas. La búsqueda slug
en Packagist debería mostrar algunos de estos paquetes.
easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type
Necesitamos encontrar un convertidor de cadena a slug, por lo que se cocur/slugify
ve bien, con muchas instalaciones y estrellas.
Requerir un paquete
Después de elegir el paquete, lo ejecutamos composer require
para incluirlo como una dependencia, generarlo composer.json
e instalarlo.
composer require cocur/slugify
Como se ve en el resultado generado, Composer seleccionó la versión más reciente del paquete y la usó. Verificando ~/slugit
, debería ver 2 archivos composer.lock
y composer.json
una carpeta con el nombre vendor
.
composer.lock
se usa para almacenar información sobre versiones de paquetes y mantenerlas igual.
La vendor
carpeta se usa para instalar las dependencias. No confirme esta carpeta en un repositorio de Git o GitHub.
Si un proyecto que ha descargado ya contiene composer.json
, use composer install
para descargar sus dependencias.
Comprender las restricciones de versión
Si marca lo que composer.json
incluye, debería ver algo similar a este bloque.
{
"require": {
"cocur/slugify": "^1.2"
}
}
Composer tiene muchos formatos y restricciones diferentes para definir la versión de un paquete, para permitir flexibilidad junto con estabilidad. ^
antes de que un número de versión haga que esa versión sea mínima y permita todas las versiones a continuación 2.0
.
Normalmente no debería necesitar cambiar las restricciones de versión, pero si lo hace, consulte la documentación oficial de Composer para obtener más información y pautas sobre cómo funciona todo.
El script de carga automática
Composer proporciona un script de carga automática, lo que hace que sea mucho más fácil trabajar con sus dependencias y espacios de nombres.
Simplemente incluya vendor/autoload.php
en su PHP antes de cualquier instanciación de clase.
De vuelta a nuestro slugit
ejemplo. Creemos un script de prueba, llamado example.php
, usando cocur/slugify
.
vim example.php
Ponga lo siguiente en example.php
.
<?php
require __DIR__ . '/vendor/autoload.php';
use Cocur\Slugify\Slugify;
$slugify = new Slugify();
echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');
Ejecute el script
php example.php
Producirá el siguiente texto:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Actualización de dependencias del proyecto
Para actualizar las dependencias del proyecto.
composer update
Si se encuentran actualizaciones y son compatibles con la restricción dada composer.json
, reemplazará la versión anterior y se actualizará composer.lock
.
Para actualizar una o más bibliotecas específicas.
composer update vendor1/package1 vendor2/package2
Conclusión
En este tutorial, revisamos la instalación, configuración y un ejemplo del uso de Composer para la administración de dependencias de aplicaciones PHP.