Quelles sont les différences entre «php artisan dump-autoload» et «composer dump-autoload»?


183

Je suis assez nouveau sur Laravel 4 et Composer. Pendant que je faisais des didacticiels Laravel 4, je ne pouvais pas comprendre la différence entre ces deux commandes; php artisan dump-autoloadet composer dump-autoloadquelle est la différence entre eux?


22
juste pour souligner cependant, php artisan dump-autoloadn'est pas inclus dans L5
Jimmy Obonyo Abor

Réponses:


168

Le chargement automatique de Laravel est un peu différent:

1) Il utilisera en fait Composer pour certaines choses

2) Il appellera Composer avec le drapeau d'optimisation

3) Il `` recompilera '' des tas de fichiers créant l'énorme bootstrap / compiled.php

4) Vous trouverez également tous vos packages Workbench et les fichiers de vidage de compositeur - les charger automatiquement, un par un.


16
Mais vous devez toujours exécuter composer dump-autoload ainsi que artisan dump-autoload pour que tous les chargements automatiques soient corrects. Exemple: Après un migrate: make, vous avez besoin d'un composeur dump-autoload pour effectuer un migrate: rollback. artisan dump-autoload ne fonctionne pas ici.
woens


37

composeur dump-autoload

PATH vendor/composer/autoload_classmap.php
  • Le dump-autoload du compositeur ne téléchargera rien.
  • Il régénère simplement la liste de toutes les classes qui doivent être incluses dans le projet (autoload_classmap.php).
  • Idéal lorsque vous avez une nouvelle classe dans votre projet.
  • autoload_classmap.php inclut également les fournisseurs dans config / app.php

php artisan dump-autoload

  • Il appellera Composer avec le drapeau d'optimisation
  • Il `` recompilera '' des tas de fichiers créant l'énorme bootstrap / compiled.php

2
php artisan dump-autoload est obsolète sur Laravel 5, vous devez donc utiliser composer dump-autoload
rajangupta
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.