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
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
100
Make is an actual task runner
jubianchi
6
1.4k
you don't know atoum
jubianchi
1
350
En Route Vers Le Multi-Tâche
jubianchi
0
770
Write A Language In Less Than 10 Minutes
jubianchi
1
300
Dive in Docker
jubianchi
4
960
Vagrant & Cie. : du dév. à la prod
jubianchi
1
550
atoum & Netbeans
jubianchi
0
300
vagrant
jubianchi
4
510
Other Decks in Programming
See All in Programming
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
150
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
5.7k
Claude Team Plan導入・ガイド
tk3fftk
0
150
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.8k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
250
継続モナドとリアクティブプログラミング
yukikurage
3
490
共通化で考えるべきは、実装より公開する型だった
codeegg
0
210
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
280
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.8k
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
210
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
The untapped power of vector embeddings
frankvandijk
2
1.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Odyssey Design
rkendrick25
PRO
2
730
Visualization
eitanlees
152
17k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
650
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
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…