t1gor/Robots.txt-Parser-Class

View on GitHub

Showing 1,364 of 1,364 total issues

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

    public function __construct(string $in) {
Severity: Minor
Found in source/Parser/Url.php by phpmd

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

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

                    usort($value, function ($a, $b) {
Severity: Minor
Found in source/RobotsTxtParser.php by phpmd

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

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

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

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

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

Function parse has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

    protected function parse(string $url) {
        $parsed = parse_url($url);

        if ($parsed === false) {
            $this->log("Failed to parse URL from {$url}");
Severity: Minor
Found in source/Parser/Url.php - About 45 mins to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

The class RobotsTxtParser has a coupling between objects value of 15. Consider to reduce the number of dependencies under 13.
Open

class RobotsTxtParser implements LoggerAwareInterface {

    use LogsIfAvailableTrait;

    // default encoding
Severity: Minor
Found in source/RobotsTxtParser.php by phpmd

CouplingBetweenObjects

Since: 1.1.0

A class with too many dependencies has negative impacts on several quality aspects of a class. This includes quality criteria like stability, maintainability and understandability

Example

class Foo {
    /**
     * @var \foo\bar\X
     */
    private $x = null;

    /**
     * @var \foo\bar\Y
     */
    private $y = null;

    /**
     * @var \foo\bar\Z
     */
    private $z = null;

    public function setFoo(\Foo $foo) {}
    public function setBar(\Bar $bar) {}
    public function setBaz(\Baz $baz) {}

    /**
     * @return \SplObjectStorage
     * @throws \OutOfRangeException
     * @throws \InvalidArgumentException
     * @throws \ErrorException
     */
    public function process(\Iterator $it) {}

    // ...
}

Source https://phpmd.org/rules/design.html#couplingbetweenobjects

Method __construct has 5 arguments (exceeds 4 allowed). Consider refactoring.
Open

        $content,
        string $encoding = self::DEFAULT_ENCODING,
        ?TreeBuilderInterface $treeBuilder = null,
        ?ReaderInterface $reader = null,
        ?UserAgentMatcherInterface $userAgentMatcher = null
Severity: Minor
Found in source/RobotsTxtParser.php - About 35 mins to fix

    Method processDirective has 5 arguments (exceeds 4 allowed). Consider refactoring.
    Open

        protected function processDirective(string $directive, string $line, &$tree, string &$userAgent, string $prevLine = '') {
    Severity: Minor
    Found in source/Parser/TreeBuilder.php - About 35 mins to fix

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

      class CacheDelayProcessor extends AbstractDirectiveProcessor implements DirectiveProcessorInterface {

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

      class CrawlDelayProcessor extends AbstractDirectiveProcessor implements DirectiveProcessorInterface {

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

      class TreeBuilder implements TreeBuilderInterface {

      Scope keyword "private" must be followed by a single space
      Open

          private        $content  = '';
      Severity: Minor
      Found in source/RobotsTxtParser.php by phpcodesniffer

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

      class UserAgentMatcher implements UserAgentMatcherInterface {

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

      class HostName {
      Severity: Minor
      Found in source/Parser/HostName.php by phpcodesniffer

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

      class HostProcessor extends AbstractDirectiveProcessor implements DirectiveProcessorInterface {

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

      interface TreeBuilderInterface {

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

      abstract class Directive {
      Severity: Minor
      Found in source/Directive.php by phpcodesniffer

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

      class CleanParamProcessor extends AbstractDirectiveProcessor implements DirectiveProcessorInterface {
      Severity
      Category
      Status
      Source
      Language