Pubblicato il Lascia un commento

Composer

Composer è un gestore di dipendenze per PHP.
Packagist è il repository dei pacchetti PHP.

Approfondimenti: PSR-4, SPDX.

Estensioni php utili: zip, zlib.

COMANDI

File composer.json

Il file eseguibile di composer, composer.json, ha le seguenti proprietà:

  • Gestione delle dipendenze
    • di produzione ( require), librerie che servono al progetto per funzionare
    • di sviluppo ( require-dev), librerie per i test o per lo sviluppo vero e proprio
  • Autoloading
  • Metadata per info di sviluppo, utili per la pubblicazione del pacchetto

Versioning

Versione specifica, minima e massima.

  1. dev
  2. alpha
  3. beta
  4. RC
  5. stable
  • minimum-stability
  • prefer-stable se TRUE disponibili solo versioni stabili, ignora le instabili anche se più recenti

 

Autoload

L’autoloading di composer permette:

  1. autoload dei pacchetti dichiarati con le dipendenze
  2. autoload delle classi, per evitare l’inclusione dei file

Opzioni autoload, in base alla convenzioni adottate:

  • singoli file
  • classmap (associa ogni classe PHP al suo rispettivo file tramite percorso assoluto)
  • PSR-0
  • PSR-4 ad oggi consigliata; ecco alcune sue convenzioni:
    • unica directory es.: src o lib
    • namespace, quindi nome radice FQCN
    • nomi classi in camel case (parole unite con la prima lettera di ognuna in maiuscolo)
    • un file una classe, con stesso nome es.: class CamelCase -> CamelCase.php
    • dalla root, cartella radice, sottocartelle che seguono l’FQCN

Tutorial composer+PSR-4: https://youtu.be/VGSerlMoIrY?t=8m38s

Troubleshooting

Installare le dipendenze per un sistema di produzione
fonte: http://www.html.it/pag/59609/il-file-composer-json-le-basi/
Impossibilità di caricare l’eseguibile composer, causa “mancato controllo” versione php ed estenzioni, sul server di produzione al quale non abbiamo accesso ssh.
SOLUZIONE: Specificare versioni tramite proprietà file config.  config ... platform, facendo credere all’eseguibile di trovarsi sul sistema di produzione.

 

Fonti

http://www.html.it/guide/composer-e-packagist-la-guida/

http://www.html.it/pag/60403/il-file-composer-json-e-la-gestione-dellautoloading/

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.