CompileFormDirective   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Importance

Changes 2
Bugs 1 Features 1
Metric Value
wmc 1
eloc 7
c 2
b 1
f 1
dl 0
loc 14
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 12 1
1
<?php
2
3
namespace SoareCostin\BladeFormComponents;
4
5
final class CompileFormDirective
6
{
7
    public function __invoke(string $expression)
8
    {
9
        $expressionParts = explode(',', $expression, 2);
10
11
        $component = trim($expressionParts[0], '\'" ');
12
        $componentClassName = ucfirst($component).'Component';
13
14
        $params = trim($expressionParts[1] ?? '[]');
15
16
        $props = "['params' => $params]";
17
18
        return "<?php echo app(SoareCostin\\BladeFormComponents\\FormComponents\\$componentClassName::class, {$props})->toHtml(); ?>";
19
    }
20
}
21