我想在this tutorial中创建一个BaseMigration
类。我已将其保存为app/database/migrations/BaseMigration.php
并在其他迁移中进行扩展,但当我尝试通过php artisan migrate
运行迁移时出现以下错误:
PHP致命错误:在第6行的... \ app \ database \ migrations \ 2014_02_19_071702_create_users_table.php中找不到类'BaseMigration'
显然它无法自动加载它。我如何告诉Laravel在哪里找到它,或者我应该将它移动到哪里以便找到它?
答案 0 :(得分:2)
通常
composer dump-autoload
修复了这些错误,但有时却没有。
要了解问题是否不在Laravel中,而是在自动加载(Composer甚至PHP)中,请查看
中的文件vendor/composer/*
如果您的文件没有使用PSR-0,PSR-4或文件自动加载,则应该是
vendor/composer/autoload_classmap.php
如果您的文件类列在那里,问题就在您的代码中,您错误地引用了它。在这些文件中,您还可以找到引用它的方式,例如,如果您在其上设置了命名空间,则必须按照它们在这些文件上的显示方式使用它。
如果没有列出,问题在于负责自动加载的人:Composer(甚至可能是PHP),您可以刷新它以尝试修复它:
rm -rf vendor
rm composer.lock
composer install