Compose è un gestore delle dipendenze per PHP (come npm è per Node.jsor pipis per Python).
Composer inserirà 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.
Questo tutorial illustra i passaggi per l'installazione di Composer su CentOS 8. Se hai fretta e non vuoi verificare l'integrità del file, scorri verso il basso fino alla sezione Installazione di Composer - Quick Way.
Prerequisiti #
Assicurati di aver soddisfatto i seguenti requisiti prima di continuare:
- Acceduto come utente con privilegi sudo
- Avere PHP installato sul tuo sistema CentOS 8.
Installazione di Composer su CentOS #
Esegui i seguenti passaggi per installare Composer su CentOS 8.
-
Installa il pacchetto PHP CLI (command-line interface) e tutte le altre dipendenze con:
sudo dnf install php-cli php-json php-zip wget unzip
-
Una volta installata la CLI 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
SHA-384
del file hash con l'hash trovato nella pagina Chiavi pubbliche/firme del compositore.Il seguente
wget
comando scarica la firma dell'ultimo programma di installazione di Composer dalla pagina Github di Composer e la memorizza in una variabile denominataHASH
: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à mostrato il seguente messaggio:
Installer verified
Altrimenti, se gli hash non corrispondono, vedrai
Installer corrupt
. Una volta verificata l'integrità, continua con il passaggio successivo. -
Esegui il comando seguente per installare Composer in
/usr/local/bin
directory:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Il comando sopra installa
composer
come comando a livello di sistema e disponibile per tutti gli utenti. L'output sarà simile a questoAll 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 a livello di sistema e disponibile per tutti gli utenti. -
Verifica l'installazione stampando la versione di Composer:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
A questo punto, hai installato correttamente Composer sul tuo sistema CentOS e puoi iniziare a usarlo.
Installazione di Composer [Quick Way] #
Esegui i seguenti passaggi per installare rapidamente Composer sul tuo sistema CentOS 8:
-
Installa PHP CLI e Zip:
sudo dnf install php-cli php-json php-zip curl unzip
-
Scarica Compositore con ricciolo:
curl -sS https://getcomposer.org/installer |php
-
Sposta il file Composer in
/usr/local/bin
directory:sudo mv composer.phar /usr/local/bin/composer
Guida introduttiva al compositore #
Ora che Composer è installato sul tuo sistema CentOS, ti mostreremo come utilizzare Composer in un progetto PHP.
Inizia creando la directory principale del progetto e vai ad essa:
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 stampi l'ora corrente.
Esegui 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 il carbonio e tutte le sue dipendenze.
Se elenchi la directory del tuo progetto, vedrai che contiene due file composer.json
e composer.lock
e un vendor
directory.
ls -l
-rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor
vendor
è la directory in cui sono archiviate le dipendenze del progetto.- Il
composer.lock
contiene un elenco di tutti i pacchetti installati, comprese le loro versioni. composer.json
è un file che descrive il tuo progetto PHP, incluse le dipendenze PHP e altri metadati.
Composer ha funzionalità di caricamento automatico, che ti consentono di utilizzare classi PHP senza la necessità di require
o include
dichiarazioni.
Crea un file chiamato testing.php
e aggiungi 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 il tag php di apertura includiamo il vendor/autoload.php
file che carica automaticamente tutte le librerie.
Successivamente, stiamo alias Carbon\Carbon
come Carbon
. L'ultima riga stampa l'ora corrente usando Carbon now
metodo.
Esegui lo script digitando:
php testing.php
L'output dovrebbe essere simile a questo:
Now: 2020-03-27 22:12:26
In seguito, se desideri aggiornare i tuoi pacchetti PHP, puoi semplicemente eseguire:
composer update
Il comando precedente 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
, Il compositore aggiornerà il pacchetto.