코드 스니퍼로 사용하지 않는 매개 변수 무시


11

내 사용자 지정 확장 프로그램 에서 EcgM2 표준으로 코드 스니퍼를 실행 하고 경고 메시지가 나타납니다.

메소드 매개 변수 $context는 사용되지 않습니다

에 대한 InstallSchema.php파일.
이 경고를 어떻게 없앨 수 있습니까?
내 방법은 다음과 같습니다 ( SuppressWarnings맨 위의 알림 ).

/**
 * {@inheritdoc}
 * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
 * @SuppressWarnings(PHPMD.UnusedFormalParameter)
 */
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
    //my install script here that does not use the parameter $context
}

답변:


9

나는 다음과 같이 깔개 밑에 먼지를 숨길 수있었습니다.

// @codingStandardsIgnoreStart
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) 
{
// @codingStandardsIgnoreEnd
....
}

나는 그것을 자랑스럽게 생각하지 않지만 작동합니다.


// @codingStandardsIgnoreEnd메소드 서명과 여는 중괄호 사이에를 추가하면 phpcs 경고가 발생합니다 . phpcs : 선언 후 줄에 여는 중괄호가 있어야합니다. 빈 줄을 찾았습니다
Radu

권리. 여는 브래킷 뒤에 추가 할 수 있습니다. 나는 대답을 편집했다.
Marius

4

phpcs (squizlabs / PHP_CodeSniffer)를 최신 버전 (2017-03-06의 v3.2.3)으로 업데이트하고 다음과 같이 사용하십시오.

/**
 * {@inheritdoc}
 */
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
    //my install script here that does not use the parameter $context
}

2

당신이 사용해야 할 억제 경고 규칙은 다음과 같습니다.

Generic.CodeAnalysis.UnusedFunctionParameter

따라서 이것은 PHP Docblock에서 사용할 코드 여야합니다 :

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

이것을 파내어 주셔서 감사합니다. 그러나 효과가 없습니다
Marius

1
@Marius 흠 그건 짜증나
Raphael at Digital Pianism

여전히 작동하지 않습니다 :(
Haim

1

이것이 올바른 방법이라고 생각합니다.

/**
 * {@inheritdoc}
 * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter
 */
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
    //my install script here that does not use the parameter $context
}

0

누군가가 동일한 구성을 가진 경우 OP의 SuppressWarnings와 함께 작동합니다! 다른 답변은 효과가 없었습니다.

그래서 @SuppressWarnings(PHPMD.UnusedFormalParameter)실제로 PHPMD와 함께 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.