Requisits
Instal·lació
Ús
Conclusió
Composer és una eina de gestió PHP molt popular per a dependències, que s'utilitza per facilitar la instal·lació i les actualitzacions dels projectes. També comprova quins altres paquets necessita un projecte i els obté automàticament per a tu, amb la versió correcta.
En aquest document, instal·larem i començarem a utilitzar Composer en un Vultr Ubuntu 14.04 VPS.
Requisits
- Un Vultr Ubuntu 14.04 VPS.
- Un usuari habitual amb
Sudoaccés a aquest VPS.
Instal·lació
Instal·lació de dependència
En primer lloc, ens hem d'assegurar que el nostre VPS té tots els requisits de Composer instal·lats i funcionant correctament.
Actualitzeu la llista de paquets.
sudo apt-get update
A continuació, instal·leu realment els requisits de Composer. Necessitareu curlper a la descàrrega i php5-cliper a la instal·lació i ús. gitComposer també l'utilitza per baixar els requisits del projecte.
Instal·leu els requisits.
sudo apt-get install curl php5-cli git
Descarrega i instal·la
La instal·lació de Composer és molt senzilla.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Que baixa i instal·la Composer com una ordre global, anomenada composer, situada a /usr/local/bin. Obtindreu aquesta sortida.
#!/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
Executeu el següent per provar la instal·lació.
composer
La sortida serà la següent.
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00
Usage:
command [options] [arguments]
Ús
Fitxer JSON
Per utilitzar Composer, necessiteu un fitxer anomenat composer.jsonper indicar a Composer quins requisits té el vostre projecte i quina versió d'aquests requisits cal instal·lar. No creeu això manualment per evitar fer alguna cosa de manera incorrecta: Composer fa el fitxer per vosaltres quan afegiu dependències. També s'afegeixen dependències addicionals automàticament.
Exemple d'ús del compositor
Per utilitzar Composer per a instal·lacions de dependència:
- Identifiqueu la biblioteca necessària per a l'aplicació.
- Trobeu una bona biblioteca de codi obert a <Packagist.org>, el repositori de Composer.
- Tria el paquet que vulguis.
- S'utilitza
composer requireper incloure i instal·lar la dependència.
Inicialització de Slugit
Ara passarem per aquest procés amb una aplicació d'exemple senzilla, que prendrà una frase i la convertirà en una cadena amigable, anomenada slug. S'utilitza amb freqüència per convertir noms de pàgines en URL, per facilitar la generació d'URL i camins. Començarem fent una carpeta per a l'aplicació, anomenada slugit.
mkdir ~/slugit
cd ~/slugit
Cercant a Packagist
Ara seguirem packagist.orgi trobarem un paquet per ajudar a generar llimacs. La cerca sluga Packagist hauria de mostrar alguns d'aquests paquets.
easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type
Hem de trobar un convertidor string to slug, així que es cocur/slugifyveu bé, amb moltes instal·lacions i estrelles.
Requereix un paquet
Després de triar el paquet, executem composer requireper incloure-lo com a dependència, generar composer.json-lo i instal·lar-lo.
composer require cocur/slugify
Com es veu a la sortida generada, Composer va seleccionar la versió del paquet més recent i la va utilitzar. Comprovació ~/slugit, hauria de veure 2 arxius, composer.locki composer.json, a més d'una carpeta amb el nom vendor.
composer.lock s'utilitza per emmagatzemar informació sobre les versions de paquets i mantenir-les iguals.
La vendorcarpeta s'utilitza per instal·lar les dependències. No introduïu aquesta carpeta en un repositori de Git o GitHub.
Si un projecte que heu baixat ja conté composer.json , feu servir composer installper descarregar-ne les dependències.
Comprensió de les restriccions de versió
Si comproveu què composer.jsoninclou, hauríeu de veure alguna cosa semblant a aquest bloc.
{
"require": {
"cocur/slugify": "^1.2"
}
}
Composer té molts formats i limitacions diferents per definir la versió d'un paquet, per permetre flexibilitat juntament amb estabilitat. ^abans que un número de versió faci que aquesta versió sigui el mínim i permet totes les versions següents 2.0.
Normalment no hauríeu de canviar les restriccions de versió, però si ho feu, consulteu la documentació oficial de Composer per obtenir més informació i directrius sobre com funciona tot.
L'script de càrrega automàtica
Composer proporciona un script de càrrega automàtica, que fa que sigui molt més fàcil treballar amb les vostres dependències i espais de noms.
Només cal incloure vendor/autoload.phpal vostre PHP abans de qualsevol instanciació de classe.
Tornem al nostre slugitexemple. Creem un script de prova, anomenat example.php, amb cocur/slugify.
vim example.php
Posa el següent a 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!');
Executeu l'script.
php example.php
Emetrà el text següent:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Actualització de dependències del projecte
Per actualitzar les dependències del projecte.
composer update
Si es troben actualitzacions i són compatibles amb la restricció indicada a composer.json, substituirà la versió anterior i actualitzarà composer.lock.
Per actualitzar una o més biblioteques específiques.
composer update vendor1/package1 vendor2/package2
Conclusió
En aquest tutorial, vam passar per la instal·lació, la configuració i un exemple d'ús de Composer per a la gestió de dependències d'aplicacions PHP.