“ php artisan dump-autoload”和“ composer dump-autoload”之间有什么区别?


183

我对Laravel 4和Composer还是很陌生。当我编写Laravel 4教程时,我无法理解这两个命令之间的区别。php artisan dump-autoload并且composer dump-autoload是它们之间有什么区别?


21
只是要指出,但php artisan dump-autoload不包括在L5中
Jimmy Obonyo Abor

Answers:


168

Laravel的自动加载功能有所不同:

1)实际上它将使用Composer进行某些操作

2)它将使用优化标志调用Composer

3)它将“重新编译”大量文件,从而创建巨大的bootstrap / compiled.php

4)并且还将找到您的所有Workbench软件包,并通过composer逐一转储-自动加载它们。


16
但是您仍然需要运行composer dump-autoload以及artisan dump-autoload才能正确处理所有自动加载。示例:在执行migrate:make之后,您需要一个作曲家dump-autoload才能执行migrate:rollback。artisan dump-autoload在这里不起作用。
woens


37

作曲家转储-自动加载

PATH vendor/composer/autoload_classmap.php
  • Composer dump-autoload不会下载任何东西。
  • 它只是重新生成项目中需要包括的所有类的列表(autoload_classmap.php)。
  • 当您在项目中有新课程时的理想选择。
  • autoload_classmap.php还包括config / app.php中的提供程序

PHP工匠转储自动加载

  • 它将使用优化标志调用Composer
  • 它将“重新编译”大量文件,从而创建巨大的bootstrap / compiled.php

1
php artisan dump-autoload在Laravel 5上已弃用,因此您需要使用作曲家dump-autoload
rajangupta
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.