gpt4 book ai didi

php - 在 laravel 5 app.php 中使用 autoload psr-4 定义的命名空间给出未找到的错误

转载 作者:行者123 更新时间:2023-12-05 08:09:50 25 4
gpt4 key购买 nike

我在一些错误中陷入了困境。我没有弄清楚我犯错的地方。我正在使用 laravel 5 并安装了它。我想使用 l5-repository 所以我安装了 https://github.com/prettus/l5-repository此存储库使用 composer 命令:

composer require prettus/l5-repository

我根据安装文档进行了所有更改,并且工作正常。

使用 composer 安装存储库后,我的目录结构如下:

curovis
|-- composer.json
|-- composer.lock
|-- app
|-- bootstarp
|-- config
|-- database
`-- vendor
|-- composer
`-- prettus
`-- l5-repository
|-- src
| `-- Prettus
| `-- Repository
`-- composer.json

在此之后,根据文档,我在 /var/www/curovis/config/app.php 中做了以下条目:Prettus\Repository\Providers\RepositoryServiceProvider::类,并且工作正常。现在我想改变根目录条目的 composer.json 如下:

"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"Prettus\\Repository\\": "vendor/prettus/l5-repository/src/Prettus"
}
},

并使用composer update 命令。它也可以正常工作。现在我想用另一个名字使用相同的 repo 所以我改变了 composer.json 与 follwing:

"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"RepoTest\\Repository\\": "vendor/repotest/l5-repository/src/RepoTest"
}
},

并在 app.php file.run composer update 命令中添加 RepoTest\Repository\Providers\RepositoryServiceProvider::class,。然后它给出以下错误:

FatalErrorException in /var/www/curovis/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php line 146: Class 'RepoTest\Repository\Providers\RepositoryServiceProvider' not found

我不明白为什么 laravel 正在寻找 /var/www/curovis/vendor/laravel/framework/src 这个路径,而不是作为 "RepoTest\\Repository\\"提供: composer.json 中的“vendor/repotest/l5-repository/src/RepoTest”。是我遗漏的任何东西或 Composer 的任何错误。感谢您的帮助。

最佳答案

你永远不会为你在主 composer.json 中添加的包添加自动加载。路径“vendor”永远不应该出现在那里。

我知道您正在尝试添加一个包,然后修改它并改用它。您将自动加载前缀从“Prettus”更改为“RepoTest”,但是您是否还更改了 PHP 文件中的 namespace ?简单地重命名路径不会影响 PHP 类名和命名空间,因此如果您重命名一个文件,而该文件中没有定义匹配的类,自动加载将失败。

无论您尝试做什么,我认为最好询问一下,而不是因为您解决原始问题的方式而要求解决您认为必要的问题。如果您想知道如何修改现有项目并使用它的变体:询问它。

关于php - 在 laravel 5 app.php 中使用 autoload psr-4 定义的命名空间给出未找到的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31674656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com