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?

Naing Lin Aung
la source
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.

Antonio Carlos Ribeiro
la source
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
60

php artisan dump-autoload est obsolète sur Laravel 5, vous devez donc utiliser composer dump-autoload

Lucas Bustamante
la source
C'est correct. Pour plus d'informations: laravel.com/docs/5.8/seeding#running-seeders
AlmostPitt
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
Rajangupta
la source
2
php artisan dump-autoload est obsolète sur Laravel 5, vous devez donc utiliser composer dump-autoload
rajangupta