В чем различия между «php artisan dump-autoload» и «composer dump-autoload»?

183

Я довольно новичок в Laravel 4 и Composer. Пока я делал уроки по Laravel 4, я не мог понять разницу между этими двумя командами; php artisan dump-autoloadи composer dump-autoloadкакая разница между ними?

Наинг Лин Аунг
источник
22
просто чтобы указать, хотя, php artisan dump-autoloadне входит в L5
Джимми Обонио Абор

Ответы:

168

Автозагрузка Laravel немного отличается:

1) На самом деле он будет использовать Composer для некоторых вещей

2) вызовет Composer с флагом оптимизации

3) Он «перекомпилирует» множество файлов, создав огромный загрузочный файл / compiled.php

4) А также найдет все ваши пакеты Workbench и дамп-автозагрузку их композитора, один за другим.

Антонио Карлос Рибейро
источник
16
Но вам все равно нужно запустить composer dump-autoload, а также artisan dump-autoload, чтобы все автозагрузки были правильными. Пример: после выполнения migrate: make вам понадобится дамп-автозагрузка composer для выполнения отката migrate:. Утилита dump-autoload здесь не работает.
женат
60

php artisan dump-autoload устарела на Laravel 5, поэтому вам нужно использовать composer dump-autoload

Лукас Бустаманте
источник
Это верно. Для получения дополнительной информации: laravel.com/docs/5.8/seeding#running-seeders
чуть-
37

композитор дамп-автозагрузка

PATH vendor/composer/autoload_classmap.php
  • Composer dump-autoload ничего не загружает.
  • Он просто восстанавливает список всех классов, которые должны быть включены в проект (autoload_classmap.php).
  • Идеально подходит для случаев, когда у вас есть новый класс внутри вашего проекта.
  • autoload_classmap.php также включает поставщиков в config / app.php

php artisan dump-autoload

  • Он будет вызывать Composer с флагом оптимизации
  • Он «перекомпилирует» множество файлов, создав огромный загрузочный файл / compiled.php
rajangupta
источник
2
php artisan dump-autoload устарела на Laravel 5, поэтому вам нужно использовать composer dump-
autoload