Was sind die Unterschiede zwischen "PHP Artisan Dump-Autoload" und "Composer Dump-Autoload"?

182

Ich bin ziemlich neu in Laravel 4 und Composer. Während ich Laravel 4-Tutorials mache, konnte ich den Unterschied zwischen diesen beiden Befehlen nicht verstehen. php artisan dump-autoloadund composer dump-autoloadwas ist der Unterschied zwischen ihnen?

Naing Lin Aung
quelle
21
Nur um darauf hinzuweisen, php artisan dump-autoloadist nicht in L5 enthalten
Jimmy Obonyo Abor

Antworten:

168

Laravels Autoload ist etwas anders:

1) Es wird tatsächlich Composer für einige Sachen verwenden

2) Es wird Composer mit dem Optimierungsflag aufgerufen

3) Es werden viele Dateien neu kompiliert, wodurch der riesige Bootstrap / compiled.php erstellt wird

4) Außerdem finden Sie alle Workbench-Pakete und Composer-Dumps, die nacheinander automatisch geladen werden.

Antonio Carlos Ribeiro
quelle
16
Sie müssen jedoch weiterhin Composer Dump-Autoload sowie Artisan Dump-Autoload ausführen, um alle Autoloads richtig zu machen. Beispiel: Nach einem migrate: make benötigen Sie ein Composer-Dump-Autoload, um ein migrate: rollback durchzuführen. Artisan Dump-Autoload funktioniert hier nicht.
Woens
59

php artisan dump-autoload wurde auf Laravel 5 veraltet, daher müssen Sie verwenden composer dump-autoload

Lucas Bustamante
quelle
Das ist richtig. Für weitere Informationen: laravel.com/docs/5.8/seeding#running-seeders
AlmostPitt
37

Komponist Dump-Autoload

PATH vendor/composer/autoload_classmap.php
  • Composer dump-autoload lädt nichts herunter.
  • Es wird lediglich die Liste aller Klassen neu generiert, die in das Projekt aufgenommen werden müssen (autoload_classmap.php).
  • Ideal, wenn Sie eine neue Klasse in Ihrem Projekt haben.
  • autoload_classmap.php enthält auch die Anbieter in config / app.php

PHP Artisan Dump-Autoload

  • Es wird Composer mit dem Optimierungsflag aufrufen
  • Es werden viele Dateien neu kompiliert, wodurch der riesige Bootstrap / compiled.php erstellt wird
Rajangupta
quelle
1
PHP Artisan Dump-Autoload ist auf Laravel 5 veraltet, so müssen Sie Composer Dump-Autoload
Rajangupta