Introduzione
Composer è un gestore delle dipendenze per PHP.
Composer installerà tutti i pacchetti PHP richiesti da cui dipende il tuo progetto e li gestirà per te. È utilizzato in tutti i moderni framework e piattaforme PHP come Laravel, Symfony, Drupal e Magento 2.
In questa esercitazione vengono illustrati i passaggi per l'installazione di Composer su CentOS 8.
Assicurarsi di aver soddisfatto i seguenti requisiti prima di continuare:
- Accesso effettuato come utente con privilegi sudo.
- Hai PHP installato sul tuo sistema CentOS 8.
Se non sai come connetterti al server tramite SSH leggi la seguente guida: Come connettersi ad un server VPS in remoto con SSH da terminale Linux
Installare Composer su CentOS
Procedere come segue per installare Composer su CentOS 8.
Installa il pacchetto PHP CLI (riga di comando) e tutte le altre dipendenze con:
sudo dnf install php-cli php-json php-zip wget nano unzip
Una volta installata l'interfaccia della riga di comando di PHP, scarica lo script di installazione di Composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Il comando sopra scarica un file chiamato composer-setup.php
nella directory di lavoro corrente.
Verifica l'integrità dei dati confrontando l'hash del file SHA-384
con l'hash trovato nella pagina Composer Public Keys / Signatures.
Il seguente comando wget
scarica la firma dell'ultimo file di installazione di Composer dalla pagina Github di Composer e la memorizza in una variabile denominata HASH
:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Per verificare che lo script di installazione non sia danneggiato, eseguire il comando seguente:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Se gli hash corrispondono, verrà visualizzato il seguente messaggio:
Installer verified
Altrimenti, se gli hash non corrispondono, vedrai Installer corrupt
. Una volta verificata l'integrità, continuare con il passaggio successivo.
Eseguire il comando seguente per installare Composer nella directory /usr/local/bin
:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Il comando sopra si installa composer
come comando di sistema e disponibile per tutti gli utenti. L'output sarà simile a questo
All settings correct for using Composer
Downloading...
Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Il comando sopra installa composer
come comando di sistema (system-wide) e disponibile per tutti gli utenti.
Verifica l'installazione stampando la versione del compositore:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
A questo punto, hai installato Composer con successo sul tuo sistema CentOS e puoi iniziare a usarlo.
Installare di Composer in modo rapido
Procedere come segue per installare rapidamente Composer sul sistema CentOS 8:
Installa PHP CLI e Zip:
sudo dnf install php-cli php-json php-zip curl unzip
Scarica Composer con curl:
curl -sS https://getcomposer.org/installer |php
Sposta il file Composer nella directory /usr/local/bin
:
sudo mv composer.phar /usr/local/bin/composer
Introduzione a Composer
Ora che Composer è installato sul tuo sistema CentOS, ti mostreremo come utilizzare Composer in un progetto PHP.
Inizia creando la directory root del progetto con il comando mkdir e naviga verso di essa con il comando cd:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
In questo esempio, useremo un pacchetto PHP chiamato carbon per creare un'applicazione di esempio che stampa l'ora corrente.
Eseguire il comando seguente per inizializzare un nuovo progetto Composer e installare il pacchetto carbon:
composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)
- Installing symfony/translation (v5.0.6): Downloading (100%)
- Installing nesbot/carbon (2.32.1): Downloading (100%)
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Come puoi vedere dall'output sopra, Composer crea un file chiamato composer.json
e scarica carbon e tutte le sue dipendenze.
Se si elencano le directory del progetto con il comando ls, si vedrà che essa contiene due file composer.json
e composer.lock
, e una directory vendor
.
ls -l
-rw-r--r--. 1 noviello noviello 60 Mar 30 23:40 composer.json
-rw-r--r--. 1 noviello noviello 11135 Mar 30 23:40 composer.lock
drwxr-xr-x. 6 noviello noviello 4096 Mar 30 23:40 vendor
vendor
è la directory in cui sono archiviate le dipendenze del progetto.- Il file
composer.lock
contiene un elenco di tutti i pacchetti installati, comprese le loro versioni. composer.json
è un file che descrive il tuo progetto PHP, comprese le dipendenze PHP e altri metadati.
È possibile cercare nel repository Composer Packagist i pacchetti PHP.
Composer dispone di funzionalità di caricamento automatico, che consente di utilizzare le classi PHP senza la necessità delle istruzioni require
o include
.
Creare un file denominato testing.php
:
sudo nano testing.php
Aggiungere il seguente codice:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Analizziamo il codice riga per riga.
Nella prima riga dopo l'apertura del tag php includiamo il file vendor/autoload.php
che carica automaticamente tutte le librerie.
Successivamente, stiamo creando un alias di Carbon\Carbon
come Carbon
. L'ultima riga stampa l'ora corrente usando il metodo Carbon now
.
Esegui lo script digitando:
php testing.php
L'output dovrebbe assomigliare a questo:
Now: 2020-03-30 21:58:12
In seguito, se desideri aggiornare i tuoi pacchetti PHP, puoi semplicemente eseguire:
composer update
Il comando sopra verificherà la presenza di versioni più recenti dei pacchetti installati e se viene trovata una versione più recente e il vincolo di versione corrisponde a quello specificato in composer.json
, Composer aggiornerà il pacchetto.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Conclusione
Hai imparato come installare Composer sul tuo server CentOS 8. Ti abbiamo anche mostrato come usare Composer per creare un progetto PHP di base.
Per ulteriori informazioni su Composer, visitare la pagina della documentazione ufficiale di Composer.