Back Php Inspections (EA Extended) 2.0.0

Dependencies defined in plugin.xml

  • com.intellij.modules.platform
  • com.jetbrains.php (PHP)

Supported products

List of supported products was determined by dependencies defined in the plugin.xml.

Product name Compatible versions
IntelliJ IDEA Ultimate 2016.2.4+
PhpStorm 2016.2.1+

Unsupported products

Product name Incompatible dependencies
WebStorm com.jetbrains.php
RubyMine com.jetbrains.php
AppCode com.jetbrains.php
CLion com.jetbrains.php
GoLand com.jetbrains.php
DataGrip com.jetbrains.php
Rider com.jetbrains.php
MPS com.jetbrains.php
Android Studio com.jetbrains.php
IntelliJ IDEA Community com.jetbrains.php
IntelliJ IDEA Educational com.jetbrains.php
PyCharm Professional com.jetbrains.php
PyCharm Community com.jetbrains.php
PyCharm Educational com.jetbrains.php


23 October 2016: improvements and new inspections

- Documentation updated: thank you @samdark;
- More than 3 parameters in callable: added settings (threshold, ignore constructors);
- Access modifiers shall be defined: added settings (analyze interfaces);
- Slow alter in foreach: added settings (suggest using variable by reference);
- Static methods invocation via '->': follow PHPUnit best practices (do not report it's assert* methods);
- Implicit magic method calls: added settings (suggest using string casting);

- Unnecessary parentheses: resolved false-positives (clone-expression, callables invocation);
- Loop which does not loop: resolved false-positives;
- Non-optimal if conditions: resolved false-positives (conditions interconnected with array variables);
- PDO api usage: resolved false-positives (bulk execution of prepared statement);
- One-time use variables: resolved false-positives (self-assignments);
- Forgotten debug statements: resolved false-positives (preceding ob_start());
- Implicit magic method calls: resolved false-positives (__construct in serialize);
- If-return-return could be simplified: resolved false-positives (preceding if-return);

- 'gettype(...)' could be replaced with 'is_*(...)': implemented;
- Unused constructor dependencies: implemented (thank you @funivan);
- If-return-return could be simplified: implemented quick-fix (thank you @funivan);