miquido/data-structure

View on GitHub
src/TypedCollection/ObjectCollection.php

Summary

Maintainability
A
0 mins
Test Coverage

Missing class import via use statement (line '45', column '31').
Open

                    throw new \LogicException(\sprintf('Key "%s" already in use', $key));

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

Missing class import via use statement (line '42', column '31').
Open

                    throw new \RuntimeException(\sprintf('Key provider should return a string, got %s', \gettype($key)));

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 \RuntimeException(\sprintf('Key provider should return a string, got %s', \gettype($key)));

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