コーディング規約クラスのメソッド

コーディング規約クラスのメソッド -- コーディング規約クラスのメソッドのオーバーライドに関する情報

導入

すべてのコーディング規約は、ひとつのクラスファイルを含みます。 このファイルによって PHP_CodeSniffer がコーディング規約の情報を問い合わせられるようになり、 このディレクトリが sniff を含むものであることを示します。 この手引きでは、コーディング規約のクラスでオーバーライド可能なメソッドについて説明します。 これらのメソッドにより、コーディング規約についてのいろいろな情報を PHP_CodeSniffer に伝えます。

getIncludedSniffs() メソッド

このメソッドでは、Sniffs ディレクトリで定義した sniff のほかに 別のコーディング規約から取り込む sniff を PHP_CodeSniffer に通知します。 単一の sniff、特定のディレクトリのすべての sniff、 あるいはコーディング規約全体をインクルードすることができます。

以下のサンプルでは、 Generic コーディング規約の MultipleStatementAlignment sniff、 Generic コーディング規約の Functions カテゴリ内のすべての sniff、 そして PEAR コーディング規約で定義されているすべての sniff をインクルードしています。

<?php
/**
 * この規約に含める外部 sniff の一覧を返す
 *
 * MyStandard コーディング規約では、汎用 sniff の一部と
 * PEAR コーディング規約全体を使用します
 *
 * @return array
 */
public function getIncludedSniffs()
{
    return array(
            'PEAR',
            'Generic/Sniffs/Formatting/MultipleStatementAlignmentSniff.php',
            'Generic/Sniffs/Functions',
           );

}//end getIncludedSniffs()
?>

注意 コーディング規約全体をインクルードすると、 その規約が別の規約からインクルードしている sniff も同時に取り込まれます。 たとえば PEAR コーディング規約では、 いくつかの sniff を Generic コーディング規約からインクルードしています。 そのため、PEAR コーディング規約全体をインクルードすると これらの sniff もインクルードされることになります。 これにより、既存の規約をもとにした独自の規約を 手早く簡単に作成できるようになります。

getExcludedSniffs() メソッド

このメソッドは、あなたが作成した規約や getIncludedSniffs() メソッドでインクルードした規約から sniff を除外するよう、PHP_CodeSniffer に指示します。 単一の sniff、特定のディレクトリのすべての sniff、 あるいはコーディング規約全体を除外することができます。

以下の例は、いったん PEAR コーディング規約全体を取り込み、 その中から ControlSignature sniff だけを除外しています。

<?php
/**
 * この規約に含める外部 sniff の一覧を返す
 *
 * MyStandard コーディング規約では、
 * PEAR コーディング規約野中から特定のひとつを除いたものを使用します
 *
 * @return array
 */
public function getIncludedSniffs()
{
    return array(
            'PEAR',
           );

}//end getIncludedSniffs()


/**
 * この規約から除外する外部 sniff の一覧を返す
 *
 * MyStandard コーディング規約では、
 * PEAR コーディング規約野中から特定のひとつを除いたものを使用します
 *
 * @return array
 */
public function getExcludedSniffs()
{
    return array(
            'PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php',
           );

}//end getExcludedSniffs()
?>