Composer è uno strumento di gestione delle dipendenze per php, molto simile a cpan
per perl. Se hai letto il tutorial sull'installazione di cpan, l'architettura sarà in qualche modo familiare. Composer, come strumento da riga di comando è il client che può recuperare e aggiornare le librerie php che contrassegniamo secondo necessità, nonché le librerie da cui dipendono, ecc.
La fonte di queste librerie è packagist.org, un grande repository di pacchetti php pubblico. Possiamo navigare nel repository con un browser per trovare i pacchetti che vorremmo utilizzare, quindi includerli nei nostri progetti con l'aiuto di Composer. E risolvendo le dipendenze stesse, Composer può semplificarci la vita se dipendiamo da pacchetti esterni. A nostra volta possiamo anche condividere le nostre librerie, in modo che la community possa accedervi anche tramite Composer.
In questo tutorial installeremo Composer su Red Hat Enterprise Linux 8 e contrassegneremo un pacchetto come dipendenza necessaria per il nostro progetto, per vedere lo strumento funzionante.
In questo tutorial imparerai:
- Come installare Composer
- Come definire il pacchetto come dipendenza
- Come installare le dipendenze con Composer
Il principale aiuto del compositore.
Requisiti e convenzioni software utilizzati
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Red Hat Enterprise Linux 8 |
Software | Compositore 1.8.0 |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Come installare il compositore su Redhat 8 istruzioni passo passo
Per poter usare il compositore abbiamo naturalmente bisogno di php
, con alcune estensioni. PHP 7.2 e le relative estensioni sono raggiungibili dopo aver abilitato i repository di gestione delle sottoscrizioni, nonché sul programma di installazione distribuito in formato ISO.
- Per prima cosa dobbiamo installare i pacchetti relativi a php con
dnf
:dnf install php php-cli php-zip php-json
- Ora possiamo scaricare il programma di installazione di Composer con php:
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- Per poter accedere allo strumento da qualsiasi punto del sistema, lo posizioniamo su
$PATH
./usr/local/bin
è incluso nel$PATH
per impostazione predefinita.# php composer-setup.php --install-dir=/usr/local/bin --filename=composer All settings correct for using Composer Downloading... Composer (version 1.8.0) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
- Per testare la funzionalità, creiamo una directory di lavoro che è la radice del nostro
php
progetto di sviluppo:$ mkdir myProject
E inseriscilo:
$ cd myProject
Dopo aver esplorato il repository, decidiamo che avremo bisogno di
zend-eventmanager
pacchetto, versione3.2.1
. Creiamo un file di testo chiamatocomposer.json
con il seguente contenuto nella directory principale del nostro progetto:{ "require": { "zendframework/zend-eventmanager": "3.2.1" } }
- Per installare il pacchetto che abbiamo definito come dipendenza, possiamo utilizzare il
composer
appena installato :$ composer install Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing zendframework/zend-eventmanager (3.2.1): Downloading (100%) zendframework/zend-eventmanager suggests installing container-interop/container-interop (^1.1.0, to use the lazy listeners feature) zendframework/zend-eventmanager suggests installing zendframework/zend-stdlib (^2.7.3 || ^3.0, to use the FilterChain feature) Writing lock file Generating autoload files
Se elenchiamo la nostra directory di lavoro, vedremo un file di blocco e un
vendor
directory. Il secondo è quello in cuicomposer
scaricato i pacchetti richiesti.$ ls composer.json composer.lock vendor
$ ls vendor/ autoload.php composer zendframework
All'interno del
vendor
directory è il pacchetto di cui avevamo bisogno e unautoload.php
. Questo è l'unico file che dobbiamo includere nel nostro codice per utilizzare una delle librerie che abbiamo installato concomposer
. Viene rigenerato all'installazione/aggiornamento del nuovo pacchetto.