rhosocial/yii2-base-models

View on GitHub
web/User.php

Summary

Maintainability
A
0 mins
Test Coverage

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

    public function can($permissionName, $params = [], $allowCaching = true)
Severity: Minor
Found in web/User.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

Avoid assigning values to variables in if clauses and the like (line '48', column '14').
Open

    public function can($permissionName, $params = [], $allowCaching = true)
    {
        if ($allowCaching && empty($params) && isset($this->_access[$permissionName])) {
            return $this->_access[$permissionName];
        }
Severity: Minor
Found in web/User.php by phpmd

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

The property $_access is not named in camelCase.
Open

class User extends \yii\web\User
{
    private $_access = [];

    /**
Severity: Minor
Found in web/User.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

Property name "$_access" should not be prefixed with an underscore to indicate visibility
Open

    private $_access = [];
Severity: Minor
Found in web/User.php by phpcodesniffer

There are no issues that match your filters.

Category
Status