introduzione
Composer è un noto gestore di dipendenze per PHP che può semplificare l'installazione e l'aggiornamento delle librerie necessarie per il tuo progetto. Al giorno d'oggi, sta diventando lo standard di fatto in questo settore grazie alla sua ineguagliabile praticità e facilità d'uso.
A differenza di Yum o Apt, Composer non installa o aggiorna mai alcun codice o pacchetto a livello di sistema. Al contrario, i pacchetti di codice e le librerie sono gestiti all'interno della directory del progetto in base al progetto.
In questo tutorial, ti mostrerò come installare e utilizzare Composer per gestire le dipendenze di un progetto PHP. Questi passaggi sono stati scritti per un server LEMP Vultr basato su CentOS 6.
Prerequisiti
- Distribuire un'istanza del server CentOS 6 con PHP (non inferiore a 5.3.2, 5.3.4 o superiore sarebbe meglio) installato.
- Accedi come un utente comune con autorizzazioni sudo. Puoi trovare come creare un tale utente in questo articolo .
Passaggio 1: installare le dipendenze per il programma Composer
sudo yum update
sudo yum install curl git php55u-cli.x86_64
Passaggio 2: installare il programma Composer
Composer può essere installato a livello locale o globale. L'installazione locale può offrire maggiore flessibilità per ogni singolo progetto ed evitare problemi di autorizzazione mentre l'installazione globale è più conveniente con un eseguibile a livello di sistema.
Per installare localmente
Per installare Composer localmente nella directory del progetto ~/myproject:
cd ~
mkdir myproject
cd myproject
curl -sS https://getcomposer.org/installer | php
Il programma Composer, chiamato un file di archivio PHP composer.phar, verrà scaricato nella directory del progetto.
È possibile testare l'installazione con il comando php composer.phar.
Per l'installazione a livello globale
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Una volta installato, è possibile utilizzare il comando composerovunque anziché utilizzare php composer.pharin una directory di progetto specifica. Per comodità, userò il comando globale composernelle seguenti sezioni.
Passaggio 3: utilizzare Composer per installare le dipendenze
Per installare dipendenze con Composer, innanzitutto, è necessario creare un file chiamato composer.jsonnella directory del progetto. Questo file definisce tutte le dipendenze richieste. Ad esempio, il contenuto di un composer.jsonfile che richiede la libreria "psr / log" potrebbe essere simile a:
{
"require": {
"psr/log": "1.0.0"
}
}
Qui, "psr / log" rappresenta "fornitore / pacchetto", "1.0.0" rappresenta "numero di versione". Entrambi i due elementi sono disponibili nel sito repository predefinito di Composer packagist.org .
Se hai bisogno di altre librerie, aggiungi solo una virgola e una nuova riga per ognuna di esse:
{
"require": {
"psr/log": "1.0.0",
"phpunit/php-timer": "1.0.7",
"symfony/event-dispatcher": "3.0.0"
}
}
Quindi eseguire il comando seguente per installare le librerie specificate. Tutte le librerie da cui dipendono le tue scelte verranno installate automaticamente.
composer install
Tutte le librerie installate verranno salvate nella ./vendordirectory.
Ogni volta che modifichi il contenuto di composer.json, o quando vuoi verificare se ci sono nuove versioni, dovresti eseguire il comando update:
composer update
Inoltre, alcune librerie forniscono informazioni sul caricamento automatico. Puoi caricarli automaticamente semplicemente aggiungendo la seguente frase nel codice del tuo progetto:
require __DIR__ . '/vendor/autoload.php';
Questo è tutto. Ora sei pronto per gestire le dipendenze del tuo progetto con Composer. Per ulteriori dettagli, visitare il sito Web ufficiale di Composer .
Godere!
Opzionale: avviso XDebug
È possibile che venga visualizzato l'avviso "Stai eseguendo compositore con xdebug abilitato ..." quando usi Composer. In tal caso, è possibile risolvere l'avviso seguendo questi passaggi.
Modifica la configurazione di PHP nel file /etc/php.d/15-xdebug.ini:
sudo vi /etc/php.d/15-xdebug.ini
Commenta la riga zend_extension=xdebug.socon un ;:
;zend_extension=xdebug.so
Salva ed esci:
:wq
Quindi riavviare il sistema:
sudo reboot