×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
COMPOSER dependency manager for PHP conseils d’utilisation
Slide 2
Slide 2 text
Comment bien utiliser Composer en ligne de commande sur vos projets
Slide 3
Slide 3 text
Démarrer un projet depuis un bootstrap #1
Slide 4
Slide 4 text
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] ! ! ! !
Slide 5
Slide 5 text
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 ?!
Slide 6
Slide 6 text
BOOTSTRAP $ composer.phar create-project symfony-standard my-project [--dev] $ cd my-project ! ! ! ! ! C’EST MIEUX :)
Slide 7
Slide 7 text
#1 Ne vous fatiguez pas, composer est là pour vous aider
Slide 8
Slide 8 text
#2 Démarrer un projet from scratch
Slide 9
Slide 9 text
FROM SCRATCH $ mkdir my-project $ cd !$ $ vim composer.json ! # Édition manuelle du fichier ! $ composer.phar validate $ composer.phar install [--dev]
Slide 10
Slide 10 text
FROM SCRATCH $ mkdir my-project $ cd !$ $ vim composer.json ! # Édition manuelle du fichier ! $ composer.phar validate $ composer.phar install [--dev] MANUEL = ERREUR
Slide 11
Slide 11 text
FROM SCRATCH $ mkdir my-project $ cd !$ $ composer.phar init ! # Interface interactive de composer ! $ composer.phar install --dev ! ! ! ! ! !
Slide 12
Slide 12 text
#2 Profitez de l’interface interactive pour éviter les erreurs
Slide 13
Slide 13 text
#3 Installer un projet et ses déps.
Slide 14
Slide 14 text
INSTALLATION “T’as juste à cloner le dépôt, tout est dans le dossier vendor !
Slide 15
Slide 15 text
INSTALLATION “T’as juste à cloner le dépôt, tout est dans le dossier vendor ! #FAIL
Slide 16
Slide 16 text
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
Slide 17
Slide 17 text
#3 Laissez Composer faire son travail : gérer vos déps.
Slide 18
Slide 18 text
#3 Mettre à jour un projet et ses déps.
Slide 19
Slide 19 text
MISE À JOUR $ git pull origin develop $ composer.phar update [--dev] $ vim composer.json ! # Ajout/Suppression/Modification manuelle de dépendances ! $ composer.phar update [--dev]
Slide 20
Slide 20 text
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
Slide 21
Slide 21 text
MISE À JOUR $ git pull origin develop $ composer.phar install [--dev] $ composer.phar require [--dev] ! # Interface interactive de composer ! $ composer.phar update / [--dev]
Slide 22
Slide 22 text
#4 Éviter les update globaux (à moins de savoir exactement ce que vous faites) Ne mettez à jour que ce qui doit l’être
Slide 23
Slide 23 text
#4bis Ne jamais, jamais, JAMAIS lancer un update dans une procédure auto.
Slide 24
Slide 24 text
#4 Réinitialiser son workspace
Slide 25
Slide 25 text
RÉINITIALISATION $ rm composer.lock $ rm -rf vendor $ composer.phar install [--dev]
Slide 26
Slide 26 text
RÉINITIALISATION $ rm composer.lock $ rm -rf vendor $ composer.phar install [--dev] PAS TOUCHE AU LOCK
Slide 27
Slide 27 text
RÉINITIALISATION $ rm -rf ~/.composer/cache $ rm -rf vendor $ composer.phar install [--dev]
Slide 28
Slide 28 text
#5 Le fichier composer.lock est la propriété de composer
Slide 29
Slide 29 text
#6 Régénérer l’autoload
Slide 30
Slide 30 text
AUTOLOAD $ composer.phar install [--dev] # OU $ composer.phar update [--dev]
Slide 31
Slide 31 text
AUTOLOAD $ composer.phar install [--dev] # OU $ composer.phar update [--dev]
Slide 32
Slide 32 text
AUTOLOAD $ composer.phar dump-autoload [--optimize]
Slide 33
Slide 33 text
#6 Minimisez votre impact sur les dépendances (composer.lock)
Slide 34
Slide 34 text
#7 Optimiser son projet pour le déploiement
Slide 35
Slide 35 text
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
Slide 36
Slide 36 text
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
Slide 37
Slide 37 text
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
Slide 38
Slide 38 text
#7 Optimisez votre projet pour le déploiement (autoload + dist)
Slide 39
Slide 39 text
@JUBIANCHI http://twitter.com/jubianchi http://github.com/jubianchi FIN…