当前位置: 首页 > 知识库问答 >
问题:

Composer 2和PSR-4弃用通知[副本]

法弘亮
2023-03-14

我将很快更新到composer 2,每次我执行composer dump autoload或composer update时,我都会收到以下弃用通知;

Deprecation Notice: Class App\Http\Traits\CheckCabinetTrait located in ./app/Traits/CheckCabinetTrait.php does not comply with psr-4 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///usr/local/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class App\Http\Traits\FollowUpEntryTrait located in ./app/Traits/FollowUpEntryTrait.php does not comply with psr-4 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///usr/local/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:201

我已经仔细检查了所有的文件名和类名,它们都是匹配的,我不确定是什么问题,或者我应该如何使它与PSR-4兼容

CheckCabinetTrait.php

trait CheckCabinetTrait {
    public function checkcabinetnote($value) {
        //function
    }
}

followEntryTrait.php

trait FollowUpEntryTrait {
    public function createfollowupentry($value) {
        //function
    }
}

我到底做错了什么为什么我总是收到这样的弃用通知

共有1个答案

闾丘玮
2023-03-14

问题是类App\Http\Traits\CheckCabinetTrait位于/App/Traits/CheckCabinetTrait.php中,而不是/App/Http/Traits/CheckCabinetTrait.php(注意Http文件夹).
尝试移动Http文件夹中的Traits文件夹以及其中文件的命名空间,然后运行composer dump
命名空间应与文件夹结构相对应
这将解决您的警告问题

 类似资料:
  • 我很难理解这个简单的界面有什么问题。 当我收到下面的通知 弃用通知:./App/Interfaces/renderData.php中的类App\Interfaces\renderData不符合psr-4自动加载标准。它将不再在Composer v2.0中自动加载。 composer.json自动加载部分: 文件夹结构为: 我已经尝试将应用重命名为应用,然后转储自动加载,但问题仍然存在。

  • 我和许多其他人一样,似乎很难弄清楚何时以及如何使用自动加载。我想我理解作曲家和PSR-0/PSR-4的概念和这需要的目录结构。但是如果我用自己的MVC框架构建自己的项目 > 由于composer自带了自动加载器,它将加载我希望包含在项目中的所有依赖项,如果我不打算将我的网站变成分布式项目,我甚至需要自己的名称空间吗?为什么我不坚持使用include/requires? 最后,如果我采用名称空间,使

  • 问题内容: 最近,我阅读了有关名称空间及其有益之处的信息。我目前正在Laravel中创建一个项目,并尝试从类映射自动加载转到命名空间。但是,我似乎无法理解PSR-0和PSR-4之间的实际区别。 我读过的一些资源是… 自动装弹机之战 Laracasts PSR-4自动加载 PSR-0 PSR-4 我的理解: PSR-4不会将下划线转换为目录分隔符 作曲者的某些特定规则导致目录结构变得复杂,这又使PS

  • 最近我读了一些关于名称空间的文章,以及它们是如何有益的。我目前正在Laravel中创建一个项目,并尝试从类映射自动加载转移到名称空间。然而,我似乎无法理解PSR-0和PSR-4之间的实际区别。 我读到的一些资源是。。。 自动装弹机之战 Laracasts PSR-4自动加载 PSR-0 PSR-4 我的理解是: PSR-4不会将下划线转换为目录分隔符 请举例说明差异。

  • 我开始学习Composer,并正在开发一个系统,在该系统中,我将文件与核心应用程序文件分开,如下所示: 所以,要在composer中设置此设置。json文件并访问所有类/App much/Core会这样吗? 还是有更正确的方法? 我也读过PSR-0和PSR-4的比较,我仍然有点怀疑应该使用哪一种。在我的情况下,我应该实现什么,PSR-0还是PSR-4?

  • 问题内容: 我正在使用Express 4.0,并且我知道主体解析器已从Express核心中移除,我使用的是推荐的替代品,但是我得到了 我在哪里可以找到这个所谓的中间件?还是我不应该得到这个错误? 问题答案: 这意味着自2014年6月19日起,不赞成使用 构造函数 。 您现在需要分别调用方法 等等。 如果仍然收到警告,则需要使用 在现在的配置对象的关键需要明确的被传递,因为它现在已经没有默认值。 如