This analyzer can detect...

  • Problematic order of operands when using yoda-style condition
  • Class defining too many public methods
  • Use of get_class() instead of ::class
  • Missing method return type
  • Calls to var_dump that must be avoided in production
  • Use of mixed as property type
  • Potentially dangerous calls, such as system, exec and alike
  • Use of equal operator == instead of identical operator ===
  • Class that may have too many lines of code
  • Abstract classes not containing Abstract in their name
  • Multiple classes defined in the input
  • Missing property type
  • Interfaces not containing Interface in their name
  • Property name that may have a name too short and not explicit enough
  • Use of mixed method return type
  • Class defining too many properties methods
  • No class defined in the input
  • Method name that may have a name too short and not explicit enough
  • More to come!