3. Talking Points
Goals
What is Dependency Management
Introduction to Composer
The composer.json file
The composer.lock file
Auto-loading
Package Repositories
Using Composer with WordPress
Wrap up Demo
4. TLDR;
Getting to a better workflow through Composer
Goal:
Rapidly create a WordPress server setup that can be replicated
quickly and consistently
13. {
" ae: " rd e /y ol rj c "
n m" ba ly mc o po et,
" ec it o" " hs p oe td e co s uf,
d s rp in : Ti r jc os ol t f"
" ew rs: [w rc m" " ot n,"o l ]
k y od" "o da p , b s o" c o" ,
" oe ae: " t p/ gt u. o /r zj c/ yo l rj c"
h m pg" ht :/ i hb cm ca ya o mc op oe t,
" ye: " ir r "
t p" lb ay,
" ie s" " I"
l c ne : M T,
" uh r" [
a t os :
{
" ae : "r de J cb "
nm " Ba l y a o s,
" mi " "j c b@ op ic cm ,
ea l: b ao so m hn .o "
" oe a e: "t p/ o mh n. o"
hm pg " h t: /o pi cc m
}
]
,
" eo io is:
r p st re"{
" ye : "o ps r ,
tp " cm o e"
" r " " tp / cs o- eo og
ul : ht :/ ut m rp .r "
}
,
" eu r" {
r q ie :
"op /r m wr " ". "
om hf ae ok : 32 ,
"ic ma y ai lb ay : "4 0
bg op n/ p- i rr " >. "
}
,
" eu r- e" {
r q ie dv :
"ut mr p /n tt se " ". ."
cs o- eo ui - et r: 2 3* ,
"og rl g e " " .. "
lg e/ og r : 1 7* ,
"eu /o l " " 2 0
db gt os : ~. "
}
,
" ug s" {
s g et :
"ol op n /x es o " " lo e tn in t te c r p or m
co cm ay et n in : Al w x e so o h o e rg a"
}
}
16. Autoloading
*** All dependencies are loaded into the '/vendor' folder ***
rqie'edratla.h'
eur vno/uoodpp;
This one line gives you access to all of the classes in your
dependencies.
21. Custom Installers
It will be necessary for additional actions on occasion, like
installing something outside the /vendor folder.
http://composer.github.io/installers/ - An installer for packages
that need special installation based on package type
22. Hosted Plugin
{
" ae: " op i cc op ui "
n m" om hn /o l lg n,
" ye: " od r s- lg n,
t p" wr pe sp u i"
" eu r" {
r q ie :
"op sr i sa lr " ""
cm oe /n tl e s: *
}
}
Your Project
{
" ae: " rz j c/ od rs - op sr ts "
n m" ca ya ow r pe sc mo e- e t,
" ec it o" " t s o u i gc mo e wt W rP es,
d s rp in : A e t f sn o ps r ih o dr s "
" ie s" " rp it r "
l c ne : p o re ay ,
" eo io is: [
r p st re"
{
" ye : "o ps r ,
tp " cm o e"
" r " " tp / wa kg s. r"
ul : ht :/ pc a it og
}
]
,
" eu r" {
r q ie :
"pc ai t yt ao hr r lt dp ss pu i "" "
wa kg s/ e- n te -e ae -o t -l gn :* ,
"pc ai t w- ue -a h "" "
wa kg s/ ps p rc ce :* ,
"pc ai t jt ak :*
wa kg s/ ep c "" "
}
,
" eu r- e" {
r q ie dv :
"pc ai t dv lp r :*
wa kg s/ ee o e """
}
}
23. Demo 2
Using the Custom Installer for WordPress Plugins
{
" ae: " rz j c/ od rs - op sr ts "
n m" ca ya ow r pe sc mo e- e t,
" ec it o" " t s o u i gc mo e wt W rP es,
d s rp in : A e t f sn o ps r ih o dr s "
" ie s" " rp it r "
l c ne : p o re ay ,
" eo io is: [
r p st re"
{
" ye : "o ps r ,
tp " cm o e"
" r " " tp / wa kg s. r"
ul : ht :/ pc a it og
}
]
,
" eu r" {
r q ie :
"pc ai t yt ao hr r lt dp ss pu i "" "
wa kg s/ e- n te -e ae -o t -l gn :* ,
"pc ai t w- ue -a h "" "
wa kg s/ ps p rc ce :* ,
"pc ai t jt ak :*
wa kg s/ ep c "" "
}
,
" eu r- e" {
r q ie dv :
"pc ai t dv lp r :*
wa kg s/ ee o e """
}
}
26. Where do we go from here
Integration of Source Control (SVN, Git, Hg)
Pre/Post install hooks
WP-CLI commands
27. Wrapping Up
Goals
What is Dependency Management
Introduction to Composer
The composer.json file
The composer.lock file
Auto-loading
Package Repositories
Using Composer with WordPress
Wrap up Demo