2. Composer - 1/3
E’ un tool per la gestione delle dipendenze in PHP.
Permette di dichiarare le librerie dalle quali dipende il progetto. Composer si
occuperà della gestione (installazione/upgrade).
NON è un gestore di pacchetti esattamente come apt o dnf/yum:
gestisce le dipendenze ricorsivamente
ma lavora con i pacchetti o le librerie a livello di progetto, non globalmente
ha tuttavia il supporto per progetti globali tramite il comando global
3. Composer - 2/3
Sito ufficiale: https://getcomposer.org
Sorgenti: https://github.com/composer/composer
Richiede PHP 5.3.2+
Supporta i principali O.S. (Linux/Unix/OSX/Windows)
Alcune impostazioni di PHP sono richieste. In fase di installazione lo script
provvede a rilevare e notificare le incompatibilità
4. Composer - 3/3
Per installare Composer:
curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Uso (minimo):
composer
Dove trovare i pacchetti?
https://packagist.org/
https://github.com/ (pubblici e privati)
5. The League of Extraordinary Packages - 1/3
The League of Extraordinary Packages è un gruppo di sviluppatori che si sono uniti
per costruire pacchetti PHP collaudati e solidi, utilizzando standard moderni
programmazione.
Rispettare le raccomandazioni PHP-FIG.
Aderire alle best practice presentate da PHP - The Right Way.
Distribuire codice via Packagist e Composer.
6. The League of Extraordinary Packages - 2/3
Alcuni pacchetti:
CLImate: pensato di supporto agli script PHP da command line. Aggiunge il
supporto a: colorazione del testo, progress bar, tabelle, line break, tab, draw, ecc.
Flysystem: una astrazione per la gestione di filesystem locali e remoti e passare
dall’uno all’altro in modo trasparente.
OAuth 2.0 Server: di supporto all’implementazione di un server conforme agli
standard OAuth 2.0. E’ possibile autenticare e autorizzare i client delle
applicazioni e proteggere le API.
Omnipay: libreria multigateway per la gestione dei pagamenti. Supporta
ufficialmente 25 gateway di pagamento ed almeno altrettanti di terze parti.
7. The League of Extraordinary Packages - 3/3
Shunt: libreria PHP per l’esecuzione di comandi su una molteplicità di macchine
remote, via SSH. Semplifica ed automatizza il deployment delle applicazioni PHP.
Uri: la libreria fornisce classi per istanziare e manipolare URI e componenti in PHP.
Event: permette la gestione di eventi in un’applicazione PHP. Supporta eventi e
listeners string based e class based.
CommonMark: Parser Markdown per PHP basato sulle specifiche CommonMark.
8. Paragon Initiative Enterprises
Paragon Initiative è una società di consulenza e sviluppo web che focalizza l’attenzione
sulla sicurezza.
Halite: intefaccia ad alto livello di crittografia basata su lisodium.
Random compat: aggiunge il supporto a random_bytes() e random_int() a PHP
5.x
GPG mailer: invia email crittografate con GPG (utilizzando zend-mail e
Crypt_GPG)
Airship: CMS incentrato sulla sicurezza.
9. In ordine sparso
Difference:
Cunz: permette di schedulare compiti in PHP. Può essere integrato in codice PHP,
script shell o PHP-CLI.
Websocket: permette di manipolare il protocollo Websocket e propone server e
client.
Backup manager: permette il backup ed il restore di database da S3, Dropbox, FTP,
SFTP, Rackspace Cloud
File naming resolver: aiuta a risolvere il nome da attribuitr a file o directory caricate,
utilizzando varie streategie.
10. In ordine sparso
Money: permette la gestione, le operazioni e la formattazione di valori monetari.
FluidXML: libreria per manipolare docuimenti XML in modo veloce, semplice ed
espressivo.
Semalt blocker: libreria auto-aggiornante per bloccare gli spam domains.
PHP amqplib: implementazione del protocollo AMQP in PHP. testato su RabbitMQ.
Telegram bot SDK: libreria per la creazione di bot telegram in PHP. Può essere
integrata in progetti più vasti come sistema di notifiche o per creare bot
standalone.
Hybridauth: fornisce una API astratta tra l’applicazione e le API dei social network.
11. Altri riferimenti
Awesome PHP: raccolta aggiornata di librerie, risorse e materiale su PHP.
PHP must watch: raccolta di video e conferenze su PHP
PHP Study guide: riferimenti e materiale per lo studio di PHP (anche in vista di
certificazione)
Notas do Editor
Più che come ad APT o DNF/YUM, si inspira fortemente a npm di Node o bundler di Ruby
l’opzione global permette di eseguire dei comandi (install, require, update) come se fossi nella directory COMPOSER_HOME. Utile nel caso di progetti centralizzati che contengono tool CLI o plugin di Composer che si desidera avere sempre disponibili.
Tutte le possibili sorgenti configurabili e le relative opzioni qui: https://getcomposer.org/doc/05-repositories.md
PHP-FIG: PHP Framework Interop Group. E’ un gruppo composto dai team di diversi progetti PHP il cui obiettivo è quello di parlare delle affinità tra i rispettivi progetti e di migliorare l’interoperabilità.
Ne fanno parte personaggi di progetti di primo piano: http://www.php-fig.org/members/