Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Composer
Search
Julien BIANCHI
February 18, 2014
Programming
250
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Composer
Julien BIANCHI
February 18, 2014
More Decks by Julien BIANCHI
See All by Julien BIANCHI
Lightning Talk - Tips & Tricks
jubianchi
0
110
Make is an actual task runner
jubianchi
6
1.4k
you don't know atoum
jubianchi
1
360
En Route Vers Le Multi-Tâche
jubianchi
0
790
Write A Language In Less Than 10 Minutes
jubianchi
1
310
Dive in Docker
jubianchi
4
960
Vagrant & Cie. : du dév. à la prod
jubianchi
1
560
atoum & Netbeans
jubianchi
0
320
vagrant
jubianchi
4
510
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
360
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
150
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
170
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
contenteditable と日本語入力に向き合う
colorful12
0
190
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
380
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
280
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
240
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
380
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
4
4.6k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
250
How STYLIGHT went responsive
nonsquared
100
6.3k
The SEO Collaboration Effect
kristinabergwall1
1
590
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
430
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Tell your own story through comics
letsgokoyo
1
1.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Chasing Engaging Ingredients in Design
codingconduct
0
350
Fireside Chat
paigeccino
43
4.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Transcript
COMPOSER dependency manager for PHP conseils d’utilisation
Comment bien utiliser Composer en ligne de commande sur vos
projets
Démarrer un projet depuis un bootstrap #1
BOOTSTRAP $ wget –O symfony.zip https://github.com/symfony/symfony- standard/archive/v2.1.6.zip $ unzip symfony.zip
$ rm symfony.zip $ mv symfony-standard-master my-project $ cd my-project $ composer.phar install [--dev] ! ! ! !
BOOTSTRAP $ wget –O symfony.zip https://github.com/symfony/symfony- standard/archive/v2.1.6.zip $ unzip symfony.zip
$ rm symfony.zip $ mv symfony-standard-master my-project $ cd my-project $ composer.phar install [--dev] ! ! ! ! RIEN QUE ÇA ?!
BOOTSTRAP $ composer.phar create-project symfony-standard my-project [--dev] $ cd my-project
! ! ! ! ! C’EST MIEUX :)
#1 Ne vous fatiguez pas, composer est là pour vous
aider
#2 Démarrer un projet from scratch
FROM SCRATCH $ mkdir my-project $ cd !$ $ vim
composer.json ! # Édition manuelle du fichier ! $ composer.phar validate $ composer.phar install [--dev]
FROM SCRATCH $ mkdir my-project $ cd !$ $ vim
composer.json ! # Édition manuelle du fichier ! $ composer.phar validate $ composer.phar install [--dev] MANUEL = ERREUR
FROM SCRATCH $ mkdir my-project $ cd !$ $ composer.phar
init ! # Interface interactive de composer ! $ composer.phar install --dev ! ! ! ! ! !
#2 Profitez de l’interface interactive pour éviter les erreurs
#3 Installer un projet et ses déps.
INSTALLATION “T’as juste à cloner le dépôt, tout est dans
le dossier vendor !
INSTALLATION “T’as juste à cloner le dépôt, tout est dans
le dossier vendor ! #FAIL
INSTALLATION $ git clone git://github.com/symfony/symfony-standard.git my-project $ cd my-project $
composer.phar install [–dev] [--prefer(dist|source)] $ cat .gitignore vendor DÉPÔT + LÉGER
#3 Laissez Composer faire son travail : gérer vos déps.
#3 Mettre à jour un projet et ses déps.
MISE À JOUR $ git pull origin develop $ composer.phar
update [--dev] $ vim composer.json ! # Ajout/Suppression/Modification manuelle de dépendances ! $ composer.phar update [--dev]
MISE À JOUR $ git pull origin develop $ composer.phar
update [--dev] $ vim composer.json ! # Ajout/Suppression/Modification manuelle de dépendances ! $ composer.phar update [--dev] UPDATE = ATTENTION
MISE À JOUR $ git pull origin develop $ composer.phar
install [--dev] $ composer.phar require [--dev] ! # Interface interactive de composer ! $ composer.phar update <vendor>/<package> [--dev]
#4 Éviter les update globaux (à moins de savoir exactement
ce que vous faites) Ne mettez à jour que ce qui doit l’être
#4bis Ne jamais, jamais, JAMAIS lancer un update dans une
procédure auto.
#4 Réinitialiser son workspace
RÉINITIALISATION $ rm composer.lock $ rm -rf vendor $ composer.phar
install [--dev]
RÉINITIALISATION $ rm composer.lock $ rm -rf vendor $ composer.phar
install [--dev] PAS TOUCHE AU LOCK
RÉINITIALISATION $ rm -rf ~/.composer/cache $ rm -rf vendor $
composer.phar install [--dev]
#5 Le fichier composer.lock est la propriété de composer
#6 Régénérer l’autoload
AUTOLOAD $ composer.phar install [--dev] # OU $ composer.phar update
[--dev]
AUTOLOAD $ composer.phar install [--dev] # OU $ composer.phar update
[--dev]
AUTOLOAD $ composer.phar dump-autoload [--optimize]
#6 Minimisez votre impact sur les dépendances (composer.lock)
#7 Optimiser son projet pour le déploiement
DÉPLOIEMENT $ git clone git@server:my-project.git $ cd my-project $ composer.phar
install $ rm -rf `find . -type d -name .git` $ rsync -az --progress ./* me@prod:/path/to/my-project
DÉPLOIEMENT $ git clone git@server:my-project.git $ cd my-project $ composer.phar
install $ rm -rf `find . -type d -name .git` $ rsync -az --progress ./* me@prod:/path/to/my-project
DÉPLOIEMENT $ git clone git@server:my-project.git $ cd my-project $ composer.phar
install --prefer-dist --optimize-autoloader $ rm -rf `find . -type d -name .git` $ rsync -az --progress ./* me@prod:/path/to/my-project
#7 Optimisez votre projet pour le déploiement (autoload + dist)
@JUBIANCHI http://twitter.com/jubianchi http://github.com/jubianchi FIN…