47
Using Composer with WordPress Micah Wood @wpscholar wpscholar.com/wcraleigh2014

Using composer with WordPress

Embed Size (px)

DESCRIPTION

Composer is a command line dependency management tool designed for PHP. Come learn how Composer can help you: - Simplify new project creation - Minimize duplication of code in your project repositories - Quickly install and update plugins and themes in bulk - Manage versioning within your project - Follow best practices when managing code for your projects http://wpscholar.com/wcraleigh2014

Citation preview

Page 1: Using composer with WordPress

Using Composer with WordPress

Micah Wood @wpscholar

wpscholar.com/wcraleigh2014

Page 2: Using composer with WordPress

What is ?

Page 3: Using composer with WordPress

Manages Dependencies

Page 4: Using composer with WordPress

Manages Project Dependencies

Page 5: Using composer with WordPress

Manages Project Dependencies and Versions

Page 6: Using composer with WordPress

Simplifies reusing and sharing of code

Page 7: Using composer with WordPress

Why Use Composer?

Page 8: Using composer with WordPress

Automatic Package Installation

Page 9: Using composer with WordPress

Consistent !Versioning

Page 10: Using composer with WordPress

Bulk Package Updates

Page 11: Using composer with WordPress

Class and File Autoloading

Page 12: Using composer with WordPress

Documentation of Dependencies

Page 13: Using composer with WordPress

Recursive Dependencies

Page 14: Using composer with WordPress

Eliminates !Duplication

Page 15: Using composer with WordPress

Package !Discovery

Page 16: Using composer with WordPress

Installing Composer

Page 17: Using composer with WordPress

Local Install!$ curl -sS https://getcomposer.org/installer | php !

Make install global!$ mv composer.phar /usr/local/bin/composer

Page 18: Using composer with WordPress

$ composer diagnoseCheck system for common errors

Page 19: Using composer with WordPress

How Composer Works

Page 20: Using composer with WordPress

composer.jsonHow you declare your dependencies

Page 21: Using composer with WordPress

composer.lockHow Composer stores

your dependencies

Page 22: Using composer with WordPress

vendor directoryWhere composer installs your packages

Page 23: Using composer with WordPress

Specifying Versions

Page 24: Using composer with WordPress

Exact Version 1.0.2

Page 25: Using composer with WordPress

Range of Versions >=1.0,<2.0

Page 26: Using composer with WordPress

Wildcard Version 1.0.*

Page 27: Using composer with WordPress

Next Significant Release Version ~1.2

Page 28: Using composer with WordPress

Semantic Versioningsemver.org

Page 29: Using composer with WordPress

2.3.1Increment when you make breaking changes

Major Version

Page 30: Using composer with WordPress

2.3.1Increment when you add backwards compatible features

Minor Version

Page 31: Using composer with WordPress

2.3.1Increment when you make backwards compatible bug fixes

Patch Version

Page 32: Using composer with WordPress

Using Composer

Page 33: Using composer with WordPress

$ composer initCreate a new composer.json file

Page 34: Using composer with WordPress

$ composer validateValidate your composer.json file

Page 35: Using composer with WordPress

$ composer installDownloads and installs all dependencies

Page 36: Using composer with WordPress

$ composer updateChecks for and installs package updates

Page 37: Using composer with WordPress

$ composer require packageAdds package to composer.json and installs

Page 38: Using composer with WordPress

$ composer remove packageRemoves package from composer.json and uninstalls

Page 39: Using composer with WordPress

$ composer create-project packageDownloads project and runs `composer install`

Page 40: Using composer with WordPress

$ composer search packageDiscover packages on packagist.org

Page 41: Using composer with WordPress

Using Composer with WordPress

Page 42: Using composer with WordPress

$ composer require johnpbloch/wordpressAdd WordPress as a dependency

Page 43: Using composer with WordPress

$ composer require composer/installersEnables WordPress themes and plugins to be put in their respective directories

Page 44: Using composer with WordPress

Setup WordPress PathsPlaces WordPress and its themes and plugins in their respective directories

Page 45: Using composer with WordPress

$ composer create-project wpscholar/wp-skeletonSetup a new WordPress project

Page 46: Using composer with WordPress

Live Demo

Page 47: Using composer with WordPress

Questions?

Micah Wood @wpscholar

!

wpscholar.com/wcraleigh2014