Composer
Upcoming SlideShare
Loading in...5
×
 

Composer

on

  • 711 views

Presentazione di composer per l'incontro del PHP User Group Milano del 16 ottobre 2012

Presentazione di composer per l'incontro del PHP User Group Milano del 16 ottobre 2012

Statistics

Views

Total Views
711
Views on SlideShare
711
Embed Views
0

Actions

Likes
1
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Composer Composer Presentation Transcript

  • #pugMi 16/10/2012 COMPOSER E le dipendenze non sono più un problemamartedì 16 ottobre 12
  • martedì 16 ottobre 12
  • Esiste già PEAR!martedì 16 ottobre 12
  • Esiste già PEAR! ★ installazione poco pulitamartedì 16 ottobre 12
  • Esiste già PEAR! ★ installazione poco pulita ★ canali sparsimartedì 16 ottobre 12
  • Esiste già PEAR! ★ installazione poco pulita ★ canali sparsi ★ standard troppo restrittivimartedì 16 ottobre 12
  • Vantaggi di composermartedì 16 ottobre 12
  • Vantaggi di composer ★ installazione legata al progettomartedì 16 ottobre 12
  • Vantaggi di composer ★ installazione legata al progetto ★ repository centralimartedì 16 ottobre 12
  • Vantaggi di composer ★ installazione legata al progetto ★ repository centrali ★ non esiste processo di approvazionemartedì 16 ottobre 12
  • Vantaggi di composer ★ installazione legata al ★ tutte le dipendenze progetto sono gestite da un unico file ★ repository centrali ★ non esiste processo di approvazionemartedì 16 ottobre 12
  • Vantaggi di composer ★ installazione legata al ★ tutte le dipendenze progetto sono gestite da un unico file ★ repository centrali ★ composer.lock ★ non esiste processo di approvazionemartedì 16 ottobre 12
  • Problemamartedì 16 ottobre 12
  • Problema Ho bisogno di gestire delle versioni specifiche delle librerie che utilizza il mio progetto.martedì 16 ottobre 12
  • Problema Ho bisogno di gestire delle versioni specifiche delle librerie che utilizza il mio progetto. Ho bisogno di condividerle con i miei colleghi, con l’ambiente di sviluppo e quello di produzione.martedì 16 ottobre 12
  • Problema Ho bisogno di gestire delle versioni specifiche delle librerie che utilizza il mio progetto. Ho bisogno di condividerle con i miei colleghi, con l’ambiente di sviluppo e quello di produzione. COMPOSER!martedì 16 ottobre 12
  • composermartedì 16 ottobre 12
  • composer Composer è un gestore di dipendenze per progetto che permette di specificare le versioni specifiche delle librerie utilizzate.martedì 16 ottobre 12
  • composer Composer è un gestore di dipendenze per progetto che permette di specificare le versioni specifiche delle librerie utilizzate. In senso opposto, permette di distribuire le mie librerie attraverseo packagist.com e di non preoccuparmi delle dipendenze.martedì 16 ottobre 12
  • martedì 16 ottobre 12
  • Installazionemartedì 16 ottobre 12
  • Installazione $ curl -s http://getcomposer.org/installer | phpmartedì 16 ottobre 12
  • Installazione $ curl -s http://getcomposer.org/installer | php $ curl -s http://getcomposer.org/installer | php -- --install-dir=binmartedì 16 ottobre 12
  • Installazione $ curl -s http://getcomposer.org/installer | php $ curl -s http://getcomposer.org/installer | php -- --install-dir=bin $ composer.phar self-updatemartedì 16 ottobre 12
  • composer.jsonmartedì 16 ottobre 12
  • composer.json { "require": { "silex/silex": "1.0.*" }, "minimum-stability": "dev" }martedì 16 ottobre 12
  • composer.json { "require": { "silex/silex": "1.0.*" }, "minimum-stability": "dev" } Root del progettomartedì 16 ottobre 12
  • composer.json { "require": { "silex/silex": "1.0.*" }, "minimum-stability": "dev" } Root del progetto Requiremartedì 16 ottobre 12
  • composer.json { "require": { "silex/silex": "1.0.*" }, "minimum-stability": "dev" } Root del progetto Require Minimum stabilitymartedì 16 ottobre 12
  • martedì 16 ottobre 12
  • Bootstrap progettomartedì 16 ottobre 12
  • Bootstrap progetto $ composer.phar create-project fabpot/silex-skeleton ~/dev/myprojectmartedì 16 ottobre 12
  • Bootstrap progetto $ composer.phar create-project fabpot/silex-skeleton ~/dev/myproject TIP: possiamo creare un progetto, eliminare le librerie che non ci servono da composer.json e rilanciare $ php composer.phar updatemartedì 16 ottobre 12
  • Contribuire a un progettomartedì 16 ottobre 12
  • Contribuire a un progetto$ composer.phar create-project dms/dms --dev ~/dev/oss/dmsmartedì 16 ottobre 12
  • Contribuire a un progetto$ composer.phar create-project dms/dms --dev ~/dev/oss/dms Tramite l’opzione --dev il sistema scarica anche le librerie necessarie per contribuire ad un progettomartedì 16 ottobre 12
  • autoload.phpmartedì 16 ottobre 12
  • autoload.php Composer genererà un file per il loading di tutte le tue libreriemartedì 16 ottobre 12
  • autoload.php Composer genererà un file per il loading di tutte le tue librerie vendor/autoload.phpmartedì 16 ottobre 12
  • composer everydaymartedì 16 ottobre 12
  • composer everyday composer.jsonmartedì 16 ottobre 12
  • composer everyday composer.json Lista delle dipendenzemartedì 16 ottobre 12
  • composer everyday composer.json Lista delle dipendenze composer.lockmartedì 16 ottobre 12
  • composer everyday composer.json Lista delle dipendenze composer.lock Dipendenze esistentimartedì 16 ottobre 12
  • UPDATEmartedì 16 ottobre 12
  • UPDATE ★ lettura di composer.jsonmartedì 16 ottobre 12
  • UPDATE ★ lettura di composer.json ★ download delle librerie necessariemartedì 16 ottobre 12
  • UPDATE ★ lettura di composer.json ★ download delle librerie necessarie ★ scrittura del file composer.lockmartedì 16 ottobre 12
  • INSTALLmartedì 16 ottobre 12
  • INSTALL ★ lettura di composer.jsonmartedì 16 ottobre 12
  • INSTALL ★ lettura di composer.json ★ controllo del file composer.lockmartedì 16 ottobre 12
  • INSTALL ★ lettura di composer.json ★ controllo del file composer.lock ★ recupero delle versioni “lockate”martedì 16 ottobre 12
  • martedì 16 ottobre 12
  • composer.lock in versioningmartedì 16 ottobre 12
  • composer.lock in versioning composer.lockmartedì 16 ottobre 12
  • composer.lock in versioning composer.lock composer installmartedì 16 ottobre 12
  • composer.lock in versioning composer.lock composer install Certezza di avere tutti i sistemi allineatimartedì 16 ottobre 12
  • martedì 16 ottobre 12
  • N!.-C!"p#$r P*4/$ { "repositories": [ { "type": "package", "package": { "name": "smarty/smarty", "version": "3.1.7", "dist": { "url": "http://www.smarty.net/files/Smarty-3.1.7.zip", "type": "zip" }, "source": { "url": "http://smarty-php.googlecode.com/svn/", "type": "svn", "reference": "tags/Smarty_3_1_7/distribution/" } } } ] }martedì 16 ottobre 12
  • N!.-C!"p#$r P*4/$ { "repositories": “package”: on-the-fly package, injecting a composer.json [ { "type": "package", "package": { "name": "smarty/smarty", "version": "3.1.7", "dist": { "url": "http://www.smarty.net/files/Smarty-3.1.7.zip", "type": "zip" }, "source": { "url": "http://smarty-php.googlecode.com/svn/", "type": "svn", "reference": "tags/Smarty_3_1_7/distribution/" } } } ] }martedì 16 ottobre 12
  • N!.-C!"p#$r P*4/$ { "repositories": “package”: on-the-fly package, injecting a composer.json [ { "type": "package", "package": { "name": "smarty/smarty", "version": "3.1.7", "dist": { "url": "http://www.smarty.net/files/Smarty-3.1.7.zip", "type": "zip" SVN / Git }, "source": { "url": "http://smarty-php.googlecode.com/svn/", "type": "svn", "reference": "tags/Smarty_3_1_7/distribution/" } } } ] }martedì 16 ottobre 12
  • I .$$- (+)0 PEAR p*4/$... No Problem!martedì 16 ottobre 12
  • { "repositories": [ { "type": "pear", "url": "http://pear2.php.net" } ], "require": { "pear-pear2.php.net/PEAR2_Text_Markdown": "*", "pear-pear2/PEAR2_HTTP_Request": "*" } }martedì 16 ottobre 12
  • { "repositories": [ “pear”: official PEAR and custom PEAR channels { "type": "pear", "url": "http://pear2.php.net" } ], "require": { "pear-pear2.php.net/PEAR2_Text_Markdown": "*", "pear-pear2/PEAR2_HTTP_Request": "*" } }martedì 16 ottobre 12
  • { "repositories": [ “pear”: official PEAR and custom PEAR channels { "type": "pear", "url": "http://pear2.php.net" } ], "require": { "pear-pear2.php.net/PEAR2_Text_Markdown": "*", "pear-pear2/PEAR2_HTTP_Request": "*" } } Remember the prefix!martedì 16 ottobre 12
  • { "repositories": [ “pear”: official PEAR and custom PEAR channels { "type": "pear", "url": "http://pear2.php.net" } ], "require": { "pear-pear2.php.net/PEAR2_Text_Markdown": "*", "pear-pear2/PEAR2_HTTP_Request": "*" } } Remember the prefix! !! Warning: PEAR causes a overhead of requestsmartedì 16 ottobre 12
  • Script: composer eventmartedì 16 ottobre 12
  • martedì 16 ottobre 12
  • “oggi avrei voglia di qualcosa di buono...”martedì 16 ottobre 12
  • packagist.orgmartedì 16 ottobre 12
  • martedì 16 ottobre 12
  • martedì 16 ottobre 12
  • martedì 16 ottobre 12
  • martedì 16 ottobre 12
  • $ composer.phar search filter dms/dms-filter-bundle : DMS Filter Bundle, makes Annotation based ... lexik/form-filter-bundle : This bundle aim to provide classes to build... rollerworks/recordfilter-bundle : Record search-filtering bundle for Symfony brikou/zend_filter : Zend Framework Filter Library ext-filter : The filter PHP extension dms/dms-filter : DMS Library, includes various bundles and ... shtumi/useful-bundle : Symfony ShtumiUsefulBundlemartedì 16 ottobre 12
  • martedì 16 ottobre 12
  • $ composer.phar show dms/dms-filter-bundle name : dms/dms-filter-bundle descrip. : DMS Filter Bundle, makes Annotation based entity filtering available in Symfony keywords : symfony, bundle, filter, dms versions : dev-master, v1.1.1, v1.1, 1.0.2, 1.0.1, 1.0.0 type : symfony-bundle license : MIT source : [git] https://github.com/rdohms/DMSFilterBundle v1.1.1 dist : [zip] https://github.com/rdohms/DMSFilterBundle/ zipball/v1.1.1 v1.1.1 names : dms/dms-filter-bundle autoload psr-0 DMSBundleFilterBundle => . requires php >=5.3.2 dms/dms-filter >=1.0.2martedì 16 ottobre 12
  • martedì 16 ottobre 12
  • Compiti a casa https://github.com/composer/satis Satis - Package Repository Generator Simple static Composer repository generator. It uses any composer.json file as input and dumps all the required (according to their version constraints) packages to a Composer Repository file.martedì 16 ottobre 12
  • Link ★ http://getcomposer.org ★ https://github.com/composer/composer ★ http://packagist.org ★ http://www.slideshare.net/rdohms/composer- putting-dependencies-on-the-scoremartedì 16 ottobre 12