DAS27/php-project-lvl2

View on GitHub
src/formatters.php

Summary

Maintainability
A
0 mins
Test Coverage

Missing class import via use statement (line '20', column '27').
Open

                throw new \Exception("Unknown format: {$format}");
Severity: Minor
Found in src/formatters.php by phpmd

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

Define and throw a dedicated exception instead of using a generic one.
Open

                throw new \Exception("Unknown format: {$format}");
Severity: Major
Found in src/formatters.php by sonar-php

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

There are no issues that match your filters.

Category
Status