我试图将我的所有用户代码移到它自己的软件包中,以便在多个项目上使用,一切正常,除非我尝试登录时遇到以下错误:
Class '\User' not found
现在,我假设这是因为出于某种原因它没有找到用户模型(我使用的是Laravel附带的默认模型,但只是移到了
'Vendor/VendorName/PackageName/src/models'
我可以看到我可以从app / config / auth.php引用用户模型但是如果我将其更改为我的包命名空间我看到相同的错误但是路径不同,我也不认为对于我需要设置app / config / auth.php模型的每个项目来说,这是最好的方法,这可能会让人感到痛苦,尤其是当我忘记了事情时!
答案 0 :(得分:1)
我的猜测是你没有自动加载用户。下面是Laravel如何在composer中使用自动加载的示例,User类安装在“app / models”中,在那里自动加载。如果您已将用户移动到其他任何地方,则需要从那里自动加载。
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models", // original path for User.php
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"your/new/path" // here you add your new path that should autoload
]
}
不要忘记在更新composer.json文件后运行composer dump-autoload
!