PHPCSの警告をコメントで抑制するには?
質問
私の
TestMyClass.php
には同じファイル (ユニットテストクラス) にふたつのクラス定義があり、PHP Code Sniffer では
各クラスはそれ自体でファイルに存在する必要があります
. どうすればこの警告を抑えられるでしょうか?
class MyClassImpl implements MyInterface
{
// ...
}
class MyClassTest extends \PHPUnit_Framework_TestCase
{
// ...
}
どのように解決するのですか?
PHP_CodeSniffer が特定のファイルや行を無視するようにするには、 コメントを使用します。 https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-files-and-folders
この場合、2つ目のクラス定義でエラーが発生するので、2つ目の定義を以下のように記述する必要があります。
// @codingStandardsIgnoreStart
class MyClassTest extends \PHPUnit_Framework_TestCase
{
// @codingStandardsIgnoreEnd
// ...
}
しかし、@codingStandardsIgnoreFileコメントを使用するか、コマンドラインで除外を指定することで、チェックする必要がない場合はファイル全体を無視することもできます(詳細は前のリンクを参照してください)。
これを頻繁に行い、コードにコメントを追加したくないことがわかったら、独自のカスタム コーディング標準を作成することもできます。今 PSR2 標準を使用していると仮定して、XML ファイル (例: mystandard.xml) を作成し、次の内容を含めます。
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom coding standard.</description>
<rule ref="PSR2" />
<rule ref="PSR1.Classes.ClassDeclaration.MultipleClasses">
<severity>0</severity>
</rule>
</ruleset>
次に、PHP_CodeSnifferをこのように実行します。
phpcs --standard=/path/to/mystandard.xml /path/to/code
独自のルールセットを持つことで、エラーメッセージの変更、メッセージの重要度や種類の変更、他の標準からのチェックの取り込み、グローバルな無視ルールの設定など、さまざまなことができるようになります。詳細はこちら。 https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
関連
-
[解決済み】Weird PHP error: 'Can't use function return value in write context'.
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み】 libapache2-mod-php7 パッケージが見つからない。
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み] PHPの配列を別の配列にコピーする関数はありますか?
-
[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] PHPでユーザー入力をサニタイズするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み】Chrome net::ERR_INCOMPLETE_CHUNKED_ENCODING エラーが発生しました。
-
[解決済み】mysqli_select_db()は、パラメータ1がmysqliであることを期待し、文字列が与えられる。
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。