Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Composer, @PHPBelfast #2
Search
Christopher Turner
September 26, 2013
Programming
2
92
Composer, @PHPBelfast #2
Introduction to Composer and how to utilise it's power for creating projects with ease.
Christopher Turner
September 26, 2013
Tweet
Share
Other Decks in Programming
See All in Programming
存在論的プログラミング: 時間と存在を記述する
koriym
3
340
AHC061解説
shun_pi
0
410
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
290
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
130
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
350
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
320
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
730
CSC307 Lecture 15
javiergs
PRO
0
260
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
Featured
See All Featured
Leo the Paperboy
mayatellez
4
1.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Designing for humans not robots
tammielis
254
26k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Embracing the Ebb and Flow
colly
88
5k
Navigating Weather and Climate Data
rabernat
0
140
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Test your architecture with Archunit
thirion
1
2.2k
Done Done
chrislema
186
16k
Thoughts on Productivity
jonyablonski
75
5.1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
280
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Transcript
h"ps://getcomposer.org
Composer Dependency Manager for PHP
What Are Dependencies? Libraries that a project relies on
for itself to operate.
What Is A Dependency Manager? A uAlity to manage
a project’s dependencies. Manages dependencies of dependencies and so on…
Hello, Composer! • PHP’s soluAon to Dependency Management
• Inspired by Node’s NPM (Node Package Manager) • Open Source • PSR-‐0 • Symfony community
Packagist • hOps://packagist.org • Composer packages archive
• Searching libraries • CreaAng new projects • Requiring libraries
Installing Composer $ curl –sS \ https://getcomposer.org/installer | php
Searching Libraries $ composer search
CreaAng a Project $ composer create-project
$ composer create-project • Downloads libraries package • Requires
libraries dependencies • Project package === library package
Requiring Libraries $ composer require
$ composer require • Downloads required library package •
Updates project dependencies
composer.json • Sets up Project as a Composer package
• Defines project dependencies • Sets dependency constraints • Maps autoloaders • Execute pre/post scripts • Commit composer.json to your repository
composer.lock • Records required dependencies • Locks dependency
versions • Used for installing your project elsewhere • Commit composer.lock to your repository!!!!!!!
Installing Dependencies $ composer install
$ composer install • Finds dependencies in composer.json •
Downloads missing libraries • Updates libraries set in composer.lock
UpdaAng Dependencies $ composer update
$ composer update • Checks libraries for updates •
Downloads out of date dependencies • Updates composer.lock
Using Your Dependencies <?php // project root require_once(__DIR__.’/vendor/autoload.php’); That’s
it, simples. • All libraries loaded via – PSR-‐0 || PEAR || Class Maps || SPL
CreaAng Libraries $ composer init
Dependency DefiniAons • Libraries are defined like: <vendor>/<package>
• SemanAc-‐like versioning: 1.2.3-suffix “symfony/forms”: “2.3.*”, “knplabs/knp-menu”: “1.0-RC2”
OpAmising Dependencies $ composer dump-‐autoload \ -‐-‐opAmize
$ composer dump-autoload -o • Autoloaders are heavy processes
• Symfony, Zend, Laravel etc. – several thousand classes • Always opAmise when in producAon
Debugging Dependencies $ composer status $ composer validate
$composer diagnose
Tips and Caveats
Install Globally $ mv composer.phar \ /usr/local/bin/composer
Help Is On Hand $ composer help <command>
Be More Verbose $ composer –vvv <command>
Minimum Stability Trap “minimum-‐stability”: “stable”
Closed Source, WHY? :@ hOps://github.com/composer/saAs
$talker->sayThanks(); array_walk($listeners, ‘askQuestion’);