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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Christopher Turner
September 26, 2013
Programming
2
88
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
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
390
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
260
Python札幌 LT資料
t3tra
7
1.1k
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
530
AI時代の認知負荷との向き合い方
optfit
0
130
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.4k
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
830
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
820
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.6k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
0
51
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
150
The SEO Collaboration Effect
kristinabergwall1
0
350
Building Applications with DynamoDB
mza
96
6.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
400
Rails Girls Zürich Keynote
gr2m
96
14k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Tell your own story through comics
letsgokoyo
1
800
The browser strikes back
jonoalderson
0
350
Context Engineering - Making Every Token Count
addyosmani
9
640
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’);