【发布时间】:2021-06-04 13:23:41
【问题描述】:
我正在创建一个 Laravel 包。
这是我的文件夹结构:
- host => (a laravel app to test the package)
- WebSite
- packages
- Company
- FirstPackage
- database
- migrations
- src
- Models
- Http
- Controllers
在migrations 文件夹内,我有两个迁移类:
2021-06-04-create-customers-table2021-06-04-add-name-to-customers
在 CreateCustomersTable 类中,我有一个名为 TABLE_NAME 的常量。
在AddNameToCustomers 类中,我想重用那个常量,我只是像CreateCustomersTable::TABLE_NAME 一样使用它。
我的 IDE 是 VS Code 没有抱怨。但是当我运行php artisan migration 时,我得到了这个错误:
找不到类“CreateCustomersTable”
在packages/Company/FirstPackage/database/migrations/2021-06-04-add-name-to-customers.php:line_number
基于Laravel migrations: Class "not found",我确保类名匹配文件名,并且我还尝试映射composer.json中的类:
"autoload": {
"classmap": [
"database/migrations"
],
"psr-4": {
"Company\\FirstPackage\\": "src/"
}
},
但是这些值都不适合我:
database/migrationsapp/database/migrationsCompany/FirstPackage/database/migrations
所以我有两个问题。
第一:我该如何解决这个问题?
第二个也是更重要的:我应该如何调试 class not found 错误?
【问题讨论】: