src/Models/Attribute.php
Method render
has 41 lines of code (exceeds 25 allowed). Consider refactoring. Open
Open
public function render(Model $entity, string $accessArea): string
{
$default = '';
$selected = '';
- Create a ticketCreate a ticket
Consider simplifying this complex logical expression. Open
Open
if (mb_strpos($item, '=')) {
$details['label'] = mb_strstr($item, '=', true);
$item = Str::replaceFirst('=', '', mb_strstr($item, '='));
// Check for SELECTED itmes (marked by asterisk)
- Create a ticketCreate a ticket
Avoid too many return
statements within this method. Open
Open
return view("cortex/attributes::{$accessArea}.types.".$this->type, ['attribute' => $this, 'entity' => $entity, 'default' => $default])->render();
- Create a ticketCreate a ticket
The method render() has a Cyclomatic Complexity of 14. The configured cyclomatic complexity threshold is 10. Open
Open
public function render(Model $entity, string $accessArea): string
{
$default = '';
$selected = '';
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
CyclomaticComplexity
Since: 0.1
Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.
Example
// Cyclomatic Complexity = 11
class Foo {
1 public function example() {
2 if ($a == $b) {
3 if ($a1 == $b1) {
fiddle();
4 } elseif ($a2 == $b2) {
fiddle();
} else {
fiddle();
}
5 } elseif ($c == $d) {
6 while ($c == $d) {
fiddle();
}
7 } elseif ($e == $f) {
8 for ($n = 0; $n < $h; $n++) {
fiddle();
}
} else {
switch ($z) {
9 case 1:
fiddle();
break;
10 case 2:
fiddle();
break;
11 case 3:
fiddle();
break;
default:
fiddle();
break;
}
}
}
}
Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity
Avoid excessively long variable names like $ignoreChangedAttributes. Keep variable name length under 20. Open
Open
protected static $ignoreChangedAttributes = [
'created_at',
'updated_at',
'deleted_at',
];
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
LongVariable
Since: 0.2
Detects when a field, formal or local variable is declared with a long name.
Example
class Something {
protected $reallyLongIntName = -3; // VIOLATION - Field
public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
$otherReallyLongName = -5; // VIOLATION - Local
for ($interestingIntIndex = 0; // VIOLATION - For
$interestingIntIndex < 10;
$interestingIntIndex++ ) {
}
}
}