Introduzione
Composer è un gestore di pacchetti per il linguaggio di programmazione PHP, creato principalmente per facilitare l'installazione e gli aggiornamenti delle dipendenze del progetto.
In questo tutorial vedremo come installare ed utilizzare Composer su Ubuntu 20.04 LTS Focal Fossa.
Prerequisiti
Prima di iniziare con questa guida, dovresti avere un utente non root con i privilegi sudo impostati sul tuo server. Segui questa guida: Configurazione Iniziale su Ubuntu 20.04 LTS.
Installare i pacchetti necessari
Assicuriamoci di aggiornare l'indice dei pacchetti. Aprire il terminale e dare questo comando:
sudo apt update
Installare le dipendenze necessarie per scaricare ed utilizzare Composer con PHP:
sudo apt install wget php-zip unzip php-cli php-mbstring git unzip
Installare Composer
Se hai fretta e non vuoi verificare l'integrità del file, scorri verso il basso fino al paragrafo Installare Composer in modo rapido.
Per installare Composer sul tuo sistema Ubuntu, procedi come segue.
Ora che php-cli
è installato sul nostro computer, possiamo scaricare il programma di installazione del compositore con:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Il comando sopra scaricherà il composer-setup.php
file nella directory di lavoro corrente.
Successivamente, dobbiamo verificare l'integrità dei dati dello script confrontando l'hash dello script SHA-384
con l'hash dell'installer più recente trovato nella pagina Composer Public Keys / Signatures.
Useremo il seguente comando wget per scaricare la firma prevista dell'ultimo programma di installazione di Composer dalla pagina Github del Composer e memorizzarla in una variabile denominata HASH
:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Ora esegui il comando seguente per verificare che lo script di installazione non sia danneggiato:
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, vedrai il seguente output:
Installer verified
Se gli hash non corrispondono, vedrai Installer corrupt
. In questo caso dovrai scaricare di nuovo lo script di installazione di Composer e ricontrollare il valore della $HASH
variabile con echo $HASH
. Una volta verificato il programma di installazione, è possibile continuare con il passaggio successivo.
Il seguente comando installa Composer nella directory /usr/local/bin
:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer
Downloading...
Composer (version 1.10.6) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Il composer
è installato come un comando a livello di sistema e sarà disponibile per tutti gli utenti.
L'ultimo passaggio è verificare l'installazione:
composer
Dovresti ricevere un messaggio di output simile al seguente:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.10.6
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 fr more verbose output and 3 for debug
...
Ciò verifica che Composer sia installato correttamente sul tuo sistema.
Installare Composer in modo rapido
Utilizzare i seguenti comandi per installare rapidamente Composer sul proprio sistema Ubuntu:
Installa PHP CLI e Zip:
sudo apt update && sudo apt install wget php-cli php-zip unzip curl
Scarica Composer con arricciatura:
curl -sS https://getcomposer.org/installer |php
Sposta il file Composer nella directory /usr/local/bin
:
sudo mv composer.phar /usr/local/bin/composer
Utilizzare Composer
I progetti PHP spesso dipendono da librerie esterne. Composer facilita la ricerca e l'installazione delle dipendenze per le librerie esterne.
Per utilizzare Composer, avrai bisogno di un file composer.json. Questo file indica a Composer quali dipendenze scaricare per il progetto e quali versioni di ciascun pacchetto possono essere installate.
Composer genera automaticamente il file composer.json quando aggiungi una dipendenza al progetto usando il comando require.
Il processo di utilizzo di Composer per installare un pacchetto come dipendenza in un progetto prevede i passaggi seguenti:
Proviamo con un'applicazione demo.
L'obiettivo di questa applicazione è trasformare una determinata frase in una stringa compatibile con l'URL: una slug.
Iniziamo creando una directory per il nostro progetto. Lo chiameremo slugify:
cd ~
mkdir demoslug
cd demoslug
Cercare il pacchetto cocur/slugify su Packagist.org
Eseguire Composer per includerlo come dipendenza e generare anche il file composer.json per il progetto:
composer require cocur/slugify
Dovresti ricevere un messaggio di output simile al seguente:
Using version ^4.0 for cocur/slugify
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing cocur/slugify (v4.0.0): Downloading (100%)
Writing lock file
Generating autoload files
La directory del tuo progetto, conterrà due nuovi file: composer.json e composer.lock e una nuova cartella vendor:
ls -l
Il file compositore.lock viene utilizzato per archiviare informazioni sulle versioni di ciascun pacchetto installate.
La cartella vendor è dove si trovano le dipendenze del progetto.
Autoload Script
Composer fornisce uno script di caricamento automatico che è possibile includere nel progetto per ottenere l'autoloading.
Includere il file vendor/autoload.php nel file PHP prima di ogni istanza di classe. Questo file viene generato automaticamente da Composer quando aggiungi la tua prima dipendenza.
Creare e modificare il file test.php:
nano test.php
Aggiungere le seguenti righe di codice:
<?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!');
Salvare e chiudere il file
Eseguire lo script PHP:
php test.php
Dovresti ricevere un messaggio di ouput simile al seguente:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Aggiornare le dipendenze
Per aggiornare le dipendenze del progetto eseguire il seguente comando:
composer update
Puoi anche aggiornare una o più librerie specifiche:
composer update vendor/package vendor2/package2
Conclusione
In questo tutorial abbiamo visto come installare e usare il Composer su Ubuntu 20.04 LTS Focal Fossa.