Kod algılayıcı ile kullanılmayan parametreyi yoksayma


11

Kod uzantısını EcgM2 standardıyla özel uzantımda çalıştırıyorum ve uyarı alıyorum

Method parametresi $contextasla kullanılmaz

için InstallSchema.phpdosyaya.
Bu uyarıyı nasıl ortadan kaldırabilirim?
Benim yöntem şöyle görünür ( SuppressWarningsüst kısmında dikkat edin):

/**
 * {@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
}

Yanıtlar:


9

Halının altındaki kiri şu şekilde saklayabildim:

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

Bununla gurur duymuyorum, ama işe yarıyor.


// @codingStandardsIgnoreEndyöntem imzası ve açılış kıvrık ayraç arasına ekleme yapmak bir phpcs uyarısına neden olur - phpcs: açılış ayracı açıklamadan sonra satırda olmalıdır; bulunan 1 boş satır bulundu
Radu

sağ. açma braketinden sonra eklenebilir. Cevabı düzenledim.
Marius

4

Phpcs'ı (squizlabs / PHP_CodeSniffer) en son sürüme güncelleyin (2017-03-06'da v3.2.3) ve aşağıdaki gibi kullanın:

/**
 * {@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

Eminim kullanmanız gereken bastırıcı uyarı kuralı:

Generic.CodeAnalysis.UnusedFunctionParameter

Yani bu PHP Docblock'unuzda kullanılacak kod olmalıdır:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

Bu konuyu açtığınız için teşekkürler, ancak hiçbir etkisi yok
Marius

1
@Marius hmm bu can sıkıcı
Raphael at Digital

hala çalışmıyor :(
Haim

1

Bence bu doğru yol:

/**
 * {@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

Birisi aynı yapılandırmaya sahipse, benim için çalışır, ancak OP'nin SuppressWarnings ile! Başka cevap işe yaramadı.

Yani @SuppressWarnings(PHPMD.UnusedFormalParameter)aslında PHPMD ile çalışır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.