Using Composer with WordPress Micah Wood @wpscholar wpscholar.com/wcraleigh2014
What is ?
Manages Dependencies
Manages Project Dependencies
Manages Project Dependencies and Versions
Simplifies reusing and sharing of code
Why Use Composer?
Automatic Package Installation
Consistent ! Versioning
Bulk Package Updates
Class and File Autoloading
Documentation of Dependencies
Recursive Dependencies
Eliminates ! Duplication
Package ! Discovery
Installing Composer
Local Install! $ curl -sS https://getcomposer.org/installer | php ! Make install global! $ mv composer.phar /usr/local/bin/composer
$ composer diagnose Check system for common errors
How Composer Works
composer.json How you declare your dependencies
composer.lock How Composer stores your dependencies
vendor directory Where composer installs your packages
Specifying Versions
Exact Version 1.0.2
Range of Versions >=1.0,<2.0
Wildcard Version 1.0.*
Next Significant Release Version ~1.2
Semantic Versioning semver.org
Major Version 2.3.1 Increment when you make breaking changes
Minor Version 2.3.1 Increment when you add backwards compatible features
Patch Version 2.3.1 Increment when you make backwards compatible bug fixes
Using Composer
$ composer init Create a new composer.json file
$ composer validate Validate your composer.json file
$ composer install Downloads and installs all dependencies
$ composer update Checks for and installs package updates
$ composer require package Adds package to composer.json and installs
$ composer remove package Removes package from composer.json and uninstalls
$ composer create-project package Downloads project and runs `composer install`
$ composer search package Discover packages on packagist.org
Using Composer with WordPress
$ composer require johnpbloch/wordpress Add WordPress as a dependency
$ composer require composer/installers Enables WordPress themes and plugins to be put in their respective directories
Setup WordPress Paths Places WordPress and its themes and plugins in their respective directories
$ composer create-project wpscholar/wp-skeleton Setup a new WordPress project
Live Demo
Questions? Micah Wood @wpscholar ! wpscholar.com/wcraleigh2014

Using composer with WordPress