==========================
PHPMD Suppressing Warnings
==========================

You can use doc comment annotations to exclude methods or classes
from PHPMD or to suppress special rules for some software artifacts. ::

  /**
   * This will suppress all the PMD warnings in
   * this class.
   *
   * @SuppressWarnings(PHPMD)
   */
  class Bar {
      function  foo() {
          $baz = 23;
      }
  }

Or you can suppress one rule with an annotation like this: ::

  /**
   *
   */
  class Bar {
      /**
       * This will suppress UnusedLocalVariable
       * warnings in this method
       *
       * @SuppressWarnings(PHPMD.UnusedLocalVariable)
       */
      public function foo() {
          $baz = 42;
      }
  }

The ``@SuppressWarnings`` annotation of PHPMD also supports some
wildcard exclusion, so that you can suppress several warnings with
a single annotation. ::

  /**
   * Suppress all rules containing "unused" in this
   * class
   *
   * @SuppressWarnings("unused")
   */
  class Bar {
      private $unusedPrivateField = 42;
      public function foo($unusedFormalParameter = 23)
      {
          $unusedLocalVariable = 17;
      }
      private function unusedPrivateMethod() {
      }
  }

A doc comment can contain multiple ``@SuppressWarnings`` annotations,
so that you can exclude multiple rules by name. ::

  /**
   * Suppress all warnings from these two rules.
   *
   * @SuppressWarnings(PHPMD.LongVariable)
   * @SuppressWarnings(PHPMD.UnusedLocalVariable)
   */
  class Bar {
      public function foo($thisIsALongAndUnusedVariable)
      {

      }
  }
