shifting gears with composer
TRANSCRIPT
![Page 1: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/1.jpg)
Shifting gears with Composer
Javier Lopez (@loalf)
![Page 2: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/2.jpg)
Who am I?
![Page 3: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/3.jpg)
Who am I?
• I am from Spain
![Page 4: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/4.jpg)
Who am I?
• I am from Spain• I live in London
![Page 5: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/5.jpg)
Who am I?
• I am from Spain• I live in London• I work for IPC Media
![Page 6: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/6.jpg)
Who am I?
• I am from Spain• I live in London• I work for IPC Media• I tweet as @loalf
![Page 7: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/7.jpg)
Who am I?
• I am from Spain• I live in London• I work for IPC Media• I tweet as @loalf• I co-organize DeSymfony (www.desymfony.com)
![Page 8: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/8.jpg)
Who am I?
• I am from Spain• I live in London• I work for IPC Media• I tweet as @loalf• I co-organize DeSymfony (www.desymfony.com)
Still want to know more?http://www.linkedin.com/in/loalf
![Page 9: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/9.jpg)
http://www.flickr.com/photos/jayshep5/5792259218/
Shifting gears
![Page 10: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/10.jpg)
My App
![Page 11: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/11.jpg)
My App
![Page 12: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/12.jpg)
My App
![Page 13: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/13.jpg)
My App
![Page 14: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/14.jpg)
My App
![Page 15: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/15.jpg)
Composer is a tool for dependency management in PHP. It allows you to declare the dependent libraries your project needs and it will
install them in your project for you.
![Page 16: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/16.jpg)
![Page 17: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/17.jpg)
Is it a new concept?
![Page 18: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/18.jpg)
Is it a new concept? Nope.
![Page 19: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/19.jpg)
Is it a new concept?
Node Package Manager
Nope.
![Page 20: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/20.jpg)
Is it a new concept?
Node Package Manager
Ruby Package Manager
Nope.
![Page 21: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/21.jpg)
![Page 22: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/22.jpg)
But, what about PEAR?
![Page 23: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/23.jpg)
But, what about PEAR?
• You have to install it in all the system
![Page 24: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/24.jpg)
But, what about PEAR?
• You have to install it in all the system
• You can´t see the source code
![Page 25: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/25.jpg)
But, what about PEAR?
• You have to install it in all the system
• You can´t see the source code
• Don´t allow different repository sources
![Page 26: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/26.jpg)
But, what about PEAR?
• You have to install it in all the system
• You can´t see the source code
• Don´t allow different repository sources
• Composer is compatible with PEAR, :)
![Page 27: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/27.jpg)
![Page 28: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/28.jpg)
Installing Composer (locally)
![Page 29: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/29.jpg)
Installing Composer (locally)
mkdir myprojectname
![Page 30: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/30.jpg)
Installing Composer (locally)
mkdir myprojectname
cd myprojectname
![Page 31: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/31.jpg)
Installing Composer (locally)
mkdir myprojectname
cd myprojectname
curl -s https://getcomposer.org/installer | php
![Page 32: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/32.jpg)
Installing Composer (locally)
mkdir myprojectname
cd myprojectname
curl -s https://getcomposer.org/installer | php
Done!
![Page 33: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/33.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 34: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/34.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 35: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/35.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 36: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/36.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 37: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/37.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 38: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/38.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 39: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/39.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 40: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/40.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 41: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/41.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 42: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/42.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 43: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/43.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 44: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/44.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 45: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/45.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 46: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/46.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 47: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/47.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 48: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/48.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 49: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/49.jpg)
// composer.json{ "require" : { "monolog/monolog" : "1.0.*", "symfony/translation" : "2.1.0-RC1", "behat/behat" : ">2.3.5,<2.4", "fabpot/goutte" : "dev-master" }, "minimum-stability": "dev"}
![Page 50: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/50.jpg)
php composer.phar install
![Page 51: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/51.jpg)
Installing dependencies
- Installing guzzle/parser (v2.8.4)
Downloading: 100%
- Installing symfony/event-dispatcher (dev-master)
Cloning v2.1.0-BETA4
- Installing guzzle/common (v2.8.4)
Downloading: 100%
- Installing guzzle/http (v2.8.4)
Downloading: 100%
- Installing symfony/process (dev-master)
Cloning v2.1.0-RC1
- Installing symfony/finder (dev-master)
Cloning 1af11ab3a686f9c45f2a8d9d721d5717cdd5f1d6
![Page 52: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/52.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 53: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/53.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 54: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/54.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 55: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/55.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 56: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/56.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 57: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/57.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 58: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/58.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 59: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/59.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 60: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/60.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 61: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/61.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 62: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/62.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 63: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/63.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 64: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/64.jpg)
!"" composer.json
!"" composer.lock
#"" vendor
!"" autoload.php
!"" behat
!"" bin
!"" composer
!"" fabpot
!"" guzzle
!"" monolog
#"" symfony
![Page 65: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/65.jpg)
http://www.flickr.com/photos/jayshep5/5792259218/
http://www.packagist.org
![Page 66: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/66.jpg)
http://www.flickr.com/photos/jayshep5/5792259218/
![Page 67: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/67.jpg)
http://www.flickr.com/photos/jayshep5/5792259218/
![Page 68: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/68.jpg)
// composer.josn{ "name": "monolog/monolog", "require": { "php": ">=5.3.0" },}
![Page 69: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/69.jpg)
// composer.josn{ "name": "monolog/monolog", "require": { "php": ">=5.3.0" },}
![Page 70: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/70.jpg)
// composer.josn{ "name": "monolog/monolog", "require": { "php": ">=5.3.0" },}
![Page 71: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/71.jpg)
// composer.josn{ "name": "monolog/monolog", "require": { "php": ">=5.3.0" },}
![Page 72: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/72.jpg)
// composer.josn{ "name": "monolog/monolog", "require": { "php": ">=5.3.0" },}
![Page 73: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/73.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 74: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/74.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 75: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/75.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 76: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/76.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 77: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/77.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 78: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/78.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 79: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/79.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 80: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/80.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 81: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/81.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 82: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/82.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 83: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/83.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 84: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/84.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 85: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/85.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 86: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/86.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 87: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/87.jpg)
// composer.josn{ "name": "monolog/monolog", "type": "library", "description": "Logging for PHP 5.3", "keywords": ["log","logging"], "homepage": "http://github.com/Seldaek/monolog", "license": "MIT", "authors": [ { "name": "Jordi Boggiano", "email": "[email protected]", "homepage": "http://seld.be", "role": "Developer" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-0": { "Monolog": "src" } }}
![Page 88: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/88.jpg)
// composer.josn{ "name": "monolog/monolog", [ ... ] "autoload": { "psr-0": { "Monolog": ["src", "lib"] } }}
![Page 89: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/89.jpg)
// composer.josn{ "name": "monolog/monolog", [ ... ] "autoload": { "classmap": ["src", "lib"] }}
![Page 90: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/90.jpg)
// composer.josn{ "name": "monolog/monolog", [ ... ] "autoload": { "files": "src/myfunctions.php" }}
![Page 91: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/91.jpg)
![Page 92: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/92.jpg)
Excuse #1
I need to use a patched version of Symfony
![Page 93: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/93.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 94: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/94.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 95: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/95.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 96: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/96.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 97: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/97.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 98: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/98.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 99: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/99.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 100: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/100.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 101: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/101.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "http://github.com/loalf/symfony" } ], "require": { "symfony/symfony" : "dev-patch2" }}
![Page 102: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/102.jpg)
Excuse #2
Some dependecies are in my own private SVN repo
![Page 103: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/103.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 104: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/104.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 105: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/105.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 106: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/106.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 107: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/107.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 108: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/108.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 109: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/109.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 110: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/110.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 111: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/111.jpg)
// composer.json{ "repositories": [ { "type" : "cvs", "url" : "svn://company.com/lib" } ], "require": { "company/lib" : "1.2.1" }}
![Page 112: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/112.jpg)
Excuse #3
I am using PEAR, you said I could use PEAR
![Page 113: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/113.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 114: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/114.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 115: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/115.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 116: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/116.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 117: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/117.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 118: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/118.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 119: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/119.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 120: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/120.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 121: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/121.jpg)
// composer.json{ "repositories": [ { "type" : "pear", "url" : "http://pear2.php.net" } ], "require": { "pear-pear2/PEAR2_HTTP_Request" : "*" }}
![Page 122: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/122.jpg)
Excuse #4
My origin doesn´t have a composer.json file
![Page 123: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/123.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 124: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/124.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 125: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/125.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 126: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/126.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 127: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/127.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 128: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/128.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 129: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/129.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 130: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/130.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 131: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/131.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 132: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/132.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 133: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/133.jpg)
// composer.json{ "repositories" : [ { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "require" : { "jquery/jquery" : "1.7.2" }}
![Page 134: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/134.jpg)
Excuse #5
I need a private package repository, but Packagist is too demanding
![Page 135: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/135.jpg)
Satis
http://getcomposer.org/doc/articles/handling-private-packages-with-satis.md
![Page 136: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/136.jpg)
Reasons to composer
![Page 137: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/137.jpg)
1200watchs
250forks
![Page 138: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/138.jpg)
![Page 139: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/139.jpg)
![Page 140: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/140.jpg)
2011-09 2011-11 2012-01 2012-03 2012-05 2012-077 48139
204347
478
692
1004
1447
1881
2418
2703
2703packages
![Page 141: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/141.jpg)
2011-09 2011-11 2012-01 2012-03 2012-05 2012-077 48139
204347
478
692
1004
1447
1881
2418
2703
2703packages
287588
![Page 142: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/142.jpg)
+2.5 mill packages installedsince 2012-04-13
![Page 143: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/143.jpg)
![Page 144: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/144.jpg)
Resources
![Page 145: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/145.jpg)
Resources
• getcomposer.org
![Page 146: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/146.jpg)
Resources
• getcomposer.org
• packagist.org
![Page 147: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/147.jpg)
Resources
• getcomposer.org
• packagist.org
• github.com/composer
![Page 148: Shifting gears with Composer](https://reader034.vdocuments.us/reader034/viewer/2022052504/554a3eefb4c9055a408b4d40/html5/thumbnails/148.jpg)
Thanks!Questions?
Javier Lopez (@loalf)