using composer with wordpress - 2.0

58
Using Composer with WordPress Micah Wood @wpscholar wpscholar.com/loopconf2015

Upload: micah-wood

Post on 27-Jul-2015

320 views

Category:

Technology


0 download

TRANSCRIPT

Using Composer with WordPress

Micah Wood @wpscholar

wpscholar.com/loopconf2015

What is ?

Manages Project Dependencies and Versions

Why Use Composer?

Eliminates Duplication

Consistent Versioning

Reusable Code

Documentation of Dependencies

Composer Features

Automatic Package Installation

Bulk Package Updates

Class and File Autoloading

Recursive Dependencies

Package Discovery

Installing Composer

Go to https://getcomposer.org/

Click ‘Getting Started’

Find your install method

$ composer diagnoseCheck system for common errors

Using Composer

$ composer initCreate a new composer.json file

$ composer validateValidate your composer.json file

$ composer require packageAdds package to composer.json and installs

$ composer require package --devAdds package to composer.json as a dev requirement and installs

$ composer installDownloads and installs all dependencies

$ composer install --no-devInstall composer dependencies for production environment

$ composer updateChecks for and installs package updates

$ composer update packageChecks for and installs a single package update

$ composer remove packageRemoves package from composer.json and uninstalls

$ composer search packageDiscover packages on packagist.org

$ composer config repositories.package git [email protected]:username/package.git

Add a custom repository

Custom Repositories Require a composer.json File

Run composer init to generate

Specifying Versions

Exact Version 1.0.2

Range of Versions >=1.0,<2.0

Wildcard Version 1.0.*

Next Significant Release Version ~1.2

Version Stability Flags @stable

@rc @beta @alpha @dev

Semantic Versioningsemver.org

2.3.1Increment when you make breaking changes

Major Version

2.3.1Increment when you add backwards compatible features

Minor Version

2.3.1Increment when you make backwards compatible bug fixes

Patch Version

How Composer Works

composer.jsonHow you declare your dependencies

composer.lockHow Composer stores

your dependencies

vendor directoryWhere composer installs your packages

autoload filesrequire __DIR__ . '/vendor/autoload.php';

Using Composer with WordPress

Use Case #1Custom Plugin or Theme

Use Case #2Custom Site or App

$ composer require johnpbloch/wordpressAdd WordPress as a dependency

$ composer config repositories.wpackagist composer http://wpackagist.org/

Add wpackagist.org as a repository

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

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

File Structure

Project Bootstrapping

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

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

$ composer create-project wpscholar/vvv-skeletonSetup a new WordPress project using VVV

Thank You!

Micah Wood @wpscholar

wpscholar.com/loopconf2015