canax/router

View on GitHub

Showing 66 of 66 total issues

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

        $rc = new \ReflectionClass($action);
Severity: Minor
Found in src/Route/RouteHandler.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 $di. Configured minimum length is 3.
Open

        ContainerInterface $di = null
Severity: Minor
Found in src/Route/RouteHandler.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 $di. Configured minimum length is 3.
Open

        ContainerInterface $di = null
Severity: Minor
Found in src/Route/Route.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 $di. Configured minimum length is 3.
Open

        ContainerInterface $di
Severity: Minor
Found in src/Route/RouteHandler.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

Method match has 6 arguments (exceeds 4 allowed). Consider refactoring.
Open

        ?string $mount,
        ?string $relativePath,
        ?string $absolutePath,
        ?string $query,
        ?array $methodSupported,
Severity: Minor
Found in src/Route/RouteMatcher.php - About 45 mins to fix

    Consider simplifying this complex logical expression.
    Open

            if (is_array($action)
                && isset($action[0])
                && isset($action[1])
                && is_string($action[0])
                && is_string($action[1])
    Severity: Major
    Found in src/Route/RouteHandler.php - About 40 mins to fix

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

              ?string $method,
              ?string $path,
              $action,
              array $arguments = [],
              ContainerInterface $di = null
      Severity: Minor
      Found in src/Route/RouteHandler.php - About 35 mins to fix

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

                $method,
                $mount = null,
                $path = null,
                $handler = null,
                string $info = null
        Severity: Minor
        Found in src/Route/Router.php - About 35 mins to fix

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

                  $method = null,
                  $mount = null,
                  $path = null,
                  $handler = null,
                  string $info = null
          Severity: Minor
          Found in src/Route/Route.php - About 35 mins to fix

            Function getHandlerType has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
            Open

                public function getHandlerType(
                    $action,
                    ContainerInterface $di = null
                ) {
                    if (is_null($action)) {
            Severity: Minor
            Found in src/Route/RouteHandler.php - About 35 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

            Expected 1 space after FUNCTION keyword; 0 found
            Open

            $router->add("", function() use ($di) {
            Severity: Minor
            Found in router/000_examples.php by phpcodesniffer

            Function checkPartAsArgument has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
            Open

                private function checkPartAsArgument($rulePart, $queryPart, &$args)
                {
                    if (substr($rulePart, -1) == "}"
                        && !is_null($queryPart)
                    ) {
            Severity: Minor
            Found in src/Route/RouteMatcher.php - About 35 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

            Avoid too many return statements within this method.
            Open

                            return $this->handleAsInvocableClass($action);
            Severity: Major
            Found in src/Route/RouteHandler.php - About 30 mins to fix

              Missing class import via use statement (line '184', column '21').
              Open

                      $refl = new \ReflectionMethod($obj, $action);
              Severity: Minor
              Found in src/Route/RouteHandler.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

              Avoid too many return statements within this method.
              Open

                              return false;
              Severity: Major
              Found in src/Route/RouteMatcher.php - About 30 mins to fix

                Avoid too many return statements within this method.
                Open

                            return $this->handleInternal("500", $e->getMessage());
                Severity: Major
                Found in src/Route/Router.php - About 30 mins to fix

                  Missing class import via use statement (line '173', column '25').
                  Open

                              $refl = new \ReflectionMethod($class, "initialize");
                  Severity: Minor
                  Found in src/Route/RouteHandler.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

                  Missing class import via use statement (line '372', column '25').
                  Open

                              $refl = new \ReflectionMethod($action[0], $action[1]);
                  Severity: Minor
                  Found in src/Route/RouteHandler.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

                  Avoid too many return statements within this method.
                  Open

                              return $this->handleInternal("500", $e->getMessage());
                  Severity: Major
                  Found in src/Route/Router.php - About 30 mins to fix

                    Missing class import via use statement (line '157', column '21').
                    Open

                            $refl = new \ReflectionClass($class);
                    Severity: Minor
                    Found in src/Route/RouteHandler.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

                    Severity
                    Category
                    Status
                    Source
                    Language