Composer è uno strumento di gestione PHP estremamente popolare per le dipendenze, utilizzato per facilitare l'installazione e gli aggiornamenti dei progetti. Controlla anche quali altri pacchetti sono necessari a un progetto e li ottiene automaticamente per te, con la versione corretta.
In questo documento, installeremo e inizieremo a utilizzare Composer su un Vultr Ubuntu 14.04 VPS.
Requisiti
- Un Ubuntu 14.04 VPS di Vultr.
- Un utente normale con
Sudo
accesso a quel VPS.
Installazione
Installazione delle dipendenze
Prima di tutto, dobbiamo assicurarci che il nostro VPS abbia tutti i requisiti di Composer installati e funzionanti con successo.
Aggiorna l'elenco dei pacchetti.
sudo apt-get update
Quindi, installa effettivamente i requisiti di Composer. Sarà necessario curl
per il download e php5-cli
per l'installazione e l'utilizzo. git
viene utilizzato anche da Composer per i download dei requisiti di progetto.
Installa i requisiti.
sudo apt-get install curl php5-cli git
Scarica e installa
L'installazione di Composer è molto semplice.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Che scarica e installa Composer come comando globale, chiamato composer
, situato in /usr/local/bin
. Otterrai questo risultato.
#!/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
Eseguire quanto segue per testare l'installazione.
composer
L'output sarà il seguente.
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00
Usage:
command [options] [arguments]
uso
File JSON
Per utilizzare Composer, è necessario un file chiamato composer.json
per indicare a Composer quali requisiti ha il progetto e quale versione di tali requisiti installare. Non crearlo manualmente per evitare di fare qualcosa di sbagliato - Composer crea il file per te quando aggiungi dipendenze. Ulteriori dipendenze vengono inoltre aggiunte automaticamente.
Esempio di utilizzo del compositore
Per utilizzare Composer per le installazioni di dipendenza:
- Identifica la libreria necessaria per l'app.
- Trova una buona libreria open source su <Packagist.org>, repository di Composer.
- Scegli il pacchetto che desideri.
- Utilizzare
composer require
per includere e installare la dipendenza.
Inizializzazione di Slugit
Passeremo ora a questo processo con una semplice app di esempio, che prenderà una frase e la renderà una stringa amichevole, chiamata lumaca. Viene utilizzato frequentemente per convertire i nomi di pagina in URL, per facilitare la generazione di URL e percorsi. Inizieremo creando una cartella per l'app, chiamata slugit
.
mkdir ~/slugit
cd ~/slugit
Cercando su Packagist
Ora andremo avanti packagist.org
e troveremo un pacchetto per aiutare a generare lumache. La ricerca slug
su Packagist dovrebbe mostrare alcuni di questi pacchetti.
easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type
Dobbiamo trovare un convertitore da stringa a lumaca, quindi cocur/slugify
sembra buono, con molte installazioni e stelle.
Richiede un pacchetto
Dopo aver scelto il pacchetto, corriamo composer require
per includerlo come dipendenza, generarlo composer.json
e installarlo.
composer require cocur/slugify
Come visto nell'output generato, Composer ha selezionato la versione del pacchetto più recente e l'ha utilizzata. Controllando ~/slugit
, dovresti vedere 2 file composer.lock
e composer.json
, oltre a una cartella denominata vendor
.
composer.lock
viene utilizzato per archiviare informazioni sulle versioni del pacchetto e mantenerle uguali.
La vendor
cartella viene utilizzata per installare le dipendenze. Non eseguire il commit di questa cartella in un repository Git o GitHub.
Se un progetto che hai già scaricato contiene composer.json
, usa composer install
per scaricare le sue dipendenze.
Comprensione dei vincoli di versione
Se controlli cosa composer.json
include, dovresti vedere qualcosa di simile a questo blocco.
{
"require": {
"cocur/slugify": "^1.2"
}
}
Composer ha molti formati e vincoli diversi per definire la versione di un pacchetto, per consentire flessibilità unita alla stabilità. ^
prima di un numero di versione rende tale versione il minimo e consente tutte le versioni seguenti 2.0
.
Normalmente non è necessario modificare i vincoli di versione, ma in tal caso, consultare la documentazione ufficiale di Composer per ulteriori informazioni e linee guida su come funziona.
Lo script di caricamento automatico
Composer fornisce uno script di caricamento automatico, che semplifica notevolmente l'utilizzo delle dipendenze e degli spazi dei nomi.
Includi vendor/autoload.php
nel tuo PHP prima di ogni istanza di classe.
Torna al nostro slugit
esempio. Creiamo uno script di test, chiamato example.php
, usando cocur/slugify
.
vim example.php
Inserisci quanto segue in 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!');
Esegui lo script.
php example.php
Verrà emesso il seguente testo:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Aggiornamento delle dipendenze del progetto
Per aggiornare le dipendenze del progetto.
composer update
Se vengono trovati aggiornamenti e compatibili con il vincolo indicato composer.json
, sostituiranno la versione precedente e l'aggiornamento composer.lock
.
Per aggiornare una o più librerie specifiche.
composer update vendor1/package1 vendor2/package2
Conclusione
In questa esercitazione sono state illustrate l'installazione, la configurazione e un esempio dell'utilizzo di Composer per la gestione delle dipendenze delle applicazioni PHP.