Composer
Composer[modifica]
Composer è un gestore di dipendenze per pacchetti PHP. È molto simile a PEAR.
Composer non è un gestore di pacchetti nello stesso senso in cui lo sono Yum o apt. Si tratta sempre di "pacchetti" o librerie, ma li gestisce in base al progetto, la loro installazione avviene in una directory (ad esempio: "vendor") all'interno del vostro progetto. Per impostazione predefinita, non installa nulla a livello globale.
Ad esempio, se abbiamo bisogno di installare una libreria per generare i file PDF globalmente (cioè in modo che sia a disposizione di tutto il webserver) allora useremo, piuttosto, il gestore di pacchetti PEAR. Se invece ci serve qualcosa per un singolo progetto (che vive in una singla cartella) utilizzeremo composer.
Attenzione: Composer lo utilizzeremo non solo per fare i ritocchi alle applicazioni Laravel, ma anche per creare da zero una nuova applicazione Laravel, quindi Composer è centrale a tutto il processo di sviluppo.
In poche parole per installare composer:
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer
alla fine possiamo lanciare il comando e vedere che succede:
$ composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version @package_branch_alias_version@ (@package_version@) @release_date@ Usage: command [options] [arguments]
eccetera
Ulteriori info nel sito
Torna a Laravel
Esempio[modifica]
Sto sviluppando un pacchettino che legge file XML e da in output PFD passando per HTML. Avevo bisogno della libreria html2pdf. Ho trovato qui informazioni, il modo che ha avuto successo è il seguente:
$ cd /var/ww/html/app $ git clone https://github.com/spipu/html2pdf.git Cloning into 'html2pdf'... remote: Counting objects: 3162, done. remote: Total 3162 (delta 0), reused 0 (delta 0), pack-reused 3162 Ricezione degli oggetti: 100% (3162/3162), 29.78 MiB | 558.00 KiB/s, done. Risoluzione dei delta: 100% (2067/2067), done. Checking connectivity... fatto. $ cd html2pdf/ $ composer install Loading composer repositories with package information Installing dependencies (including require-dev) - Installing tecnickcom/tcpdf (6.2.12) Downloading: 100% - Installing symfony/yaml (v3.2.3) Downloading: 100% ... Writing lock file Generating autoload files $