psr-4 - 错误 : Class 'path' Is not compliant with PSR-4 configuration

标签 psr-4 phpcs

我正在尝试 PHP 编码标准包:https://github.com/inpsyde/php-coding-standards ,但是当我开始运行 phpcs 时,我得到:

nickan@nickan-VirtualBox:~/src/wordpress/wp-content/plugins/my-plugin$ vendor/bin/phpcs ./src/model/Users.php 
E 1 / 1 (100%)



FILE: /home/src/wordpress/wp-content/plugins/my-plugin/src/model/Users.php
-------------------------------------------------------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
-------------------------------------------------------------------------------------------------------------------------------
 5 | ERROR | Class 'Plugin\Model\Users', located at
   |       | '/home/src/wordpress/wp-content/plugins/my-plugin/src/model/Users.php', is not
   |       | compliant with PSR-4 configuration. (Inpsyde.CodeQuality.Psr4.InvalidPSR4)

这是路径 my-plugin/src/model/Users.php

中的文件
<?php declare(strict_types=1);

namespace Test\Model;

class Users
{

}

我不明白哪里出了问题,代码运行正常,但错误不断出现。我尝试使用不同的命名空间、更改文件夹等,但仍然无济于事,我们将不胜感激。谢谢。

最佳答案

PSR-4 要求(除其他事项外)命名空间直接对应于目录结构。这是区分大小写的。

长话短说:您需要使用大写 M 命名您的目录 src/Model/Users.php

此外,您的命名空间没有 PSR-4 要求的供应商前缀。嗅探器无法检测到该问题,但您仍应修复该问题。

关于psr-4 - 错误 : Class 'path' Is not compliant with PSR-4 configuration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62112780/

相关文章:

php - PSR-4 命名空间(我做对了吗?)

php-7.1 - 用于类型提示的 PHPCS 规则

php - 查找 PHP CodeSniffer 规则

PHP CodeSniffer 忽略/排除方法中的下划线规则

php - 在 Yii2 中使用没有命名空间的类

php - 消除两个供应商使用的 PHP namespace 的歧义

php - PSR 4 自动加载找不到类

phpcs: 引用的嗅探 "WordPress"不存在

pear - phpcs --standard=PHPCompatibility 不起作用