Showing 4 of 4 total issues
Missing class import via use statement (line '37', column '19'). Open
Open
throw new \Exception('Need array as argument in a condition');
- Read upRead up
- Exclude checks
MissingImport
Since: 2.7.0
Importing all external classes in a file through use statements makes them clearly visible.
Example
function make() {
return new \stdClass();
}
Source http://phpmd.org/rules/cleancode.html#MissingImport
End of line character is invalid; expected "\n" but found "\r\n" Open
Open
<?php
- Exclude checks
Rename this constant "FIELD__CONDITION" to match the regular expression ^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$. Open
Open
public const FIELD__CONDITION = 'condition';
- Read upRead up
- Exclude checks
Shared coding conventions allow teams to collaborate efficiently. This rule checks that all constant names match a provided regular expression.
Noncompliant Code Example
With the default regular expression ^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$
:
define("const1", true); class Foo { const const2 = "bar"; }
Compliant Solution
define("CONST1", true); class Foo { const CONST2 = "bar"; }
Define and throw a dedicated exception instead of using a generic one. Open
Open
throw new \Exception('Need array as argument in a condition');
- Read upRead up
- Exclude checks
If you throw a general exception type, such as ErrorException, RuntimeException, or Exception in a library or framework, it forces consumers to catch all exceptions, including unknown exceptions that they do not know how to handle.
Instead, either throw a subtype that already exists in the Standard PHP Library, or create your own type that derives from Exception.
Noncompliant Code Example
throw new Exception(); // Noncompliant
Compliant Solution
throw new InvalidArgumentException(); // or throw new UnexpectedValueException();
See
- MITRE, CWE-397 - Declaration of Throws for Generic Exception
- CERT, ERR07-J. - Do not throw RuntimeException, Exception, or Throwable