yiisoft/yii2

View on GitHub
framework/web/HeaderCollection.php

Summary

Maintainability
A
0 mins
Test Coverage

The class HeaderCollection has 11 public methods. Consider refactoring HeaderCollection to keep number of public methods under 10.
Open

class HeaderCollection extends BaseObject implements \IteratorAggregate, \ArrayAccess, \Countable
{
    /**
     * @var array the headers in this collection (indexed by the normalized header names)
     */
Severity: Minor
Found in framework/web/HeaderCollection.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

The method get has a boolean flag argument $first, which is a certain sign of a Single Responsibility Principle violation.
Open

    public function get($name, $default = null, $first = true)
Severity: Minor
Found in framework/web/HeaderCollection.php by phpmd

BooleanArgumentFlag

Since: 1.4.0

A boolean flag argument is a reliable indicator for a violation of the Single Responsibility Principle (SRP). You can fix this problem by extracting the logic in the boolean flag into its own class or method.

Example

class Foo {
    public function bar($flag = true) {
    }
}

Source https://phpmd.org/rules/cleancode.html#booleanargumentflag

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

        return new \ArrayIterator($this->_headers);
Severity: Minor
Found in framework/web/HeaderCollection.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

There are no issues that match your filters.

Category
Status