t1gor/Robots.txt-Parser-Class

View on GitHub
source/Stream/Filters/SkipEmptyLinesFilter.php

Summary

Maintainability
A
0 mins
Test Coverage

Avoid unused parameters such as '$closing'.
Open

    public function filter($in, $out, &$consumed, $closing) {

UnusedFormalParameter

Since: 0.2

Avoid passing parameters to methods or constructors and then not using those parameters.

Example

class Foo
{
    private function bar($howdy)
    {
        // $howdy is not used
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

Define a constant instead of duplicating this literal "logger" 3 times.
Open

                && isset($this->params['logger'])

Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

Noncompliant Code Example

With the default threshold of 3:

function run() {
  prepare('action1');                              // Non-Compliant - 'action1' is duplicated 3 times
  execute('action1');
  release('action1');
}

Compliant Solution

ACTION_1 = 'action1';

function run() {
  prepare(ACTION_1);
  execute(ACTION_1);
  release(ACTION_1);
}

Exceptions

To prevent generating some false-positives, literals having less than 5 characters are excluded.

Avoid variables with short names like $in. Configured minimum length is 3.
Open

    public function filter($in, $out, &$consumed, $closing) {

ShortVariable

Since: 0.2

Detects when a field, local, or parameter has a very short name.

Example

class Something {
    private $q = 15; // VIOLATION - Field
    public static function main( array $as ) { // VIOLATION - Formal
        $r = 20 + $this->q; // VIOLATION - Local
        for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
            $r += $this->q;
        }
    }
}

Source https://phpmd.org/rules/naming.html#shortvariable

Opening brace of a class must be on the line after the definition
Open

class SkipEmptyLinesFilter extends \php_user_filter implements CustomFilterInterface {

Only one argument is allowed per line in a multi-line function call
Open

                $bucket->data, -1,

Spaces must be used to indent lines; tabs are not allowed
Open

            stream_bucket_append($out, $bucket);

Spaces must be used to indent lines; tabs are not allowed
Open

            $consumed += $bucket->datalen;

Spaces must be used to indent lines; tabs are not allowed
Open

            }

Spaces must be used to indent lines; tabs are not allowed
Open

            $bucket->data = preg_replace(

Spaces must be used to indent lines; tabs are not allowed
Open

        }

Spaces must be used to indent lines; tabs are not allowed
Open

            $replacedCount = 0;

Spaces must be used to indent lines; tabs are not allowed
Open

                && isset($this->params['logger'])

Spaces must be used to indent lines; tabs are not allowed
Open

    public function filter($in, $out, &$consumed, $closing) {

Spaces must be used to indent lines; tabs are not allowed
Open

    public $filtername = self::NAME;

Spaces must be used to indent lines; tabs are not allowed
Open

                $replacedCount

Spaces must be used to indent lines; tabs are not allowed
Open

            );

Spaces must be used to indent lines; tabs are not allowed
Open

                $this->params['logger']->debug($replacedCount . ' lines skipped as empty.');

Spaces must be used to indent lines; tabs are not allowed
Open

                $bucket->data, -1,

Spaces must be used to indent lines; tabs are not allowed
Open

                && $this->params['logger'] instanceof LoggerInterface

Spaces must be used to indent lines; tabs are not allowed
Open

    public const NAME = 'RTP_skip_empty_lines';

Spaces must be used to indent lines; tabs are not allowed
Open

        while ($bucket = stream_bucket_make_writeable($in)) {

Spaces must be used to indent lines; tabs are not allowed
Open

                PHP_EOL,

Spaces must be used to indent lines; tabs are not allowed
Open

            if ($replacedCount > 0

Spaces must be used to indent lines; tabs are not allowed
Open

            ) {

Spaces must be used to indent lines; tabs are not allowed
Open

        return PSFS_PASS_ON;

Spaces must be used to indent lines; tabs are not allowed
Open

                '/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/mui',

Spaces must be used to indent lines; tabs are not allowed
Open

    }

Opening brace should be on a new line
Open

    public function filter($in, $out, &$consumed, $closing) {

There are no issues that match your filters.

Category
Status