首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有类声明的PSR2在PHP Code Sniffer中使用命名空间扩展类

带有类声明的PSR2在PHP Code Sniffer中使用命名空间扩展类
EN

Stack Overflow用户
提问于 2012-09-21 07:08:25
回答 1查看 4.1K关注 0票数 5

我遇到了一个使用PSR2标准的PHPCS的问题。我到处找过了,但令我惊讶的是,我找不到任何人报告同样的问题。

假设我有一个如下的类声明:

代码语言:javascript
复制
<?php

class MyChildClass extends \SomeNameSpace\MyParentClass
{
}

然后我通过PHPCS运行它:

代码语言:javascript
复制
bash-3.2$ phpcs -s  --standard=PSR2 test.php 

FILE: test.php
--------------------------------------------------------------------------------
FOUND 2 ERROR(S) AFFECTING 1 LINE(S)
--------------------------------------------------------------------------------
 3 | ERROR | Expected 0 spaces between "SomeNameSpace" and comma; $1 found
   |       | (PSR2.Classes.ClassDeclaration.SpaceBeforeComma)
 3 | ERROR | Expected 1 space before "MyParentClass"; 13 found
   |       | (PSR2.Classes.ClassDeclaration.SpaceBeforeName)
--------------------------------------------------------------------------------

Time: 0 seconds, Memory: 4.00Mb

另外:

代码语言:javascript
复制
Bash-3.2$ phpcs --version
PHP_CodeSniffer version 1.3.6 (stable) by Squiz Pty Ltd. (http://www.squiz.net)

有没有人见过这个?我做错了什么吗?否则,我将首先进入嗅探器代码--这感觉不对劲。

EN

回答 1

Stack Overflow用户

发布于 2012-09-21 11:39:30

PHP_CodeSniffer当前版本中的PSR-1和PSR-2标准不完整。我从来没有在发布说明中提到过它们,所以人们显然要么只是找到了它们,要么他们正在谈论当前的开发版本,在那里它们是完整的。

如果你想在PHP_CodeSniffer中试用PSR-2的完整版本,你需要克隆git代码库并直接使用它:

代码语言:javascript
复制
git clone git://github.com/squizlabs/PHP_CodeSniffer.git
cd PHP_CodeSniffer
php scripts/phpcs --standard=PSR2 /path/to/code

或者你可以等待正式发布,我计划在下周某个时候发布,假设没有重大问题的报道。

如果你在你提供的代码上运行最新的dev版本,你会得到这样的结果:

代码语言:javascript
复制
2:PHP_CodeSniffer gsherwood$ php scripts/phpcs --standard=psr2 temp.php

FILE: /Users/gsherwood/Sites/Projects/PHP_CodeSniffer/temp.php
--------------------------------------------------------------------------------
FOUND 2 ERROR(S) AFFECTING 2 LINE(S)
--------------------------------------------------------------------------------
 3 | ERROR | Each class must be in a namespace of at least one level (a
   |       | top-level vendor name)
 5 | ERROR | Expected 1 blank line at end of file; 0 found
--------------------------------------------------------------------------------

Time: 0 seconds, Memory: 4.25Mb

希望这能有所帮助。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12522196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档