Composer
A Lightning Talk by James Titcumb
● Your app depends on libraries
● Maintenance - keeping up to date
● Libraries depend on other libraries
● Could result in conflicting code - MESS
The Problems
Guzzle Twig PSR-3
Pimple
nooooo!!!!!!
Nils Adermann (phpBB)
Jordi Boggiano (SF2, Doctrine)
Say hello to...
What Does It Do?
● You tell it what libraries you want
● Manages dependencies
● Installs them (downloads them)
● Creates an autoloader
Installing composer.phar
$ curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: composer.phar
Use it: php composer.phar
$
composer.json
{
"require": {
"php": ">= 5.3",
"symfony/console": "2.3.*"
}
}
Now Install
$ php composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Installing symfony/console (v2.3.4)
Downloading: 100%
Writing lock file
Generating autoload files
$
Where Did You Come From?
● Packagist - main repository
● You can make your own (Satis)
Autoloading!
index.php
<?php
require 'vendor/autoload.php';
// You can use your dependencies
// without requiring them all the time
use
SymfonyComponentConsoleApplication;
60 seconds Live Demo (!)
● Download Composer
● Create composer.json
● Run Composer install
● Write index.php
● It’s very simple
● Magical dependencies (recursively)
● You can make your own packages!
● Composer autoloader rocks (PSR-0/4)
● Simplifies deployment!
● Get it here:
Summary
getcomposer.org
Thanks!
@asgrim
github.com/asgrim

Composer Tutorial (PHP Hampshire Sept 2013)