projek-xyz/slim-flysystem

View on GitHub
src/Flysystem.php

Summary

Maintainability
A
3 hrs
Test Coverage

The class Flysystem has 19 public methods. Consider refactoring Flysystem to keep number of public methods under 10.
Open

class Flysystem
{
    /**
     * @var string[]
     */
Severity: Minor
Found in src/Flysystem.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 class Flysystem has an overall complexity of 50 which is very high. The configured complexity threshold is 50.
Open

class Flysystem
{
    /**
     * @var string[]
     */
Severity: Minor
Found in src/Flysystem.php by phpmd

Flysystem has 26 functions (exceeds 20 allowed). Consider refactoring.
Open

class Flysystem
{
    /**
     * @var string[]
     */
Severity: Minor
Found in src/Flysystem.php - About 3 hrs to fix

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

        public function listContents($directory = '', $recursive = false)
    Severity: Minor
    Found in src/Flysystem.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 '131', column '40').
    Open

            $this->fs = new Filesystem(new \League\Flysystem\ZipArchive\ZipArchiveAdapter($path));
    Severity: Minor
    Found in src/Flysystem.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 variables with short names like $fs. Configured minimum length is 3.
    Open

        protected $fs = null;
    Severity: Minor
    Found in src/Flysystem.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

    There are no issues that match your filters.

    Category
    Status