2017-03-06 1 views
1

クラス/プロパティ/メソッドに適切なdocblockがあるかどうかを検出するために、PHPコードスニファやPHP Mess Detectorを使用する方法はありますか?例:PHPCS/PHPMD:docblockが存在することを確認するためのPHPコードスニファ/メス検出器がありますか?

class Foo 
{ 
    protected $bar; 

    public function doStuff(){ 
     // ... 
    } 
} 

上記の例では、赤旗が表示されます。ただし、次の例では、渡す必要があります。

/** 
* Class Foo 
* @package Vendor\Module 
*/ 
class Foo 
{ 
    /** 
    * @var Vendor\Module\Model\Bar 
    */ 
    protected $bar; 

    /** 
    * This method does stuff 
    * @return bool 
    */ 
    public function doStuff(){ 
     // ... 
    } 
} 

(戻り値の型は何が返されることを一致している場合)にdocblockが正しい場合、私は定義興味につきないんだけど、私は意味:それもない場合、それはいいだろうそれが、私が取りたい最初のステップは、docblockが存在することを確認することです。

+0

@LukasHajdu:私はその答えを見ましたが、私がその質問を誤解していないならば、docblockが存在するかどうかを調べるのではなく、docblockの中身が有効かどうかを確認することです。私が間違っているなら、私を修正してください。 –

+0

重複した質問に2017年に2つの新しいオプションを追加しました。確認してください:http://stackoverflow.com/a/43722973/1348344 –

答えて

1

duplicated answerのソリューションは、docblockの存在チェックのためにも機能しています。

bin/phpcs Bar.php --standard=Squiz --sniffs=Squiz.Commenting.FunctionComment,Squiz.Commenting.FunctionCommentThrowTag,Squiz.Commenting.ClassComment,Squiz.Commenting.VariableComment 

これはコメントがいません、私ののFooクラスです:

<?php 

namespace PhpCSTesting; 

use stdClass; 

/** 
* Class Bar 
*/ 
class Bar 
{ 
    /** 
    * @var stdClass 
    */ 
    protected $bar; 

    /** 
    * This method does stuff 
    * 
    * @return boolean 
    */ 
    public function doStuff() 
    { 
     return true; 
    } 
} 

私はスニファを実行すると、私はエラーを取得していない:

この

は、コメントを持っている私の バークラスです:

<?php 

namespace PhpCSTesting; 

class Foo 
{ 
    protected $bar; 

    public function doStuff() 
    { 
     return true; 
    } 
} 

しかし、このクラスのスニファを実行すると、エラーが発生します。

bin/phpcs Foo.php --standard=Squiz --sniffs=Squiz.Commenting.FunctionComment,Squiz.Commenting.FunctionCommentThrowTag,Squiz.Commenting.ClassComment,Squiz.Commenting.VariableComment 

FILE: /Users/lukas/workspace/Foo.php 
---------------------------------------------------------------------- 
FOUND 3 ERRORS AFFECTING 3 LINES 
---------------------------------------------------------------------- 
5 | ERROR | Missing class doc comment 
7 | ERROR | Missing member variable doc comment 
9 | ERROR | Missing function doc comment 
---------------------------------------------------------------------- 

必要に応じてルールセットを更新および変更できます。

関連する問題