CompileFormDirective::__invoke()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 1 Features 1
Metric Value
eloc 6
c 2
b 1
f 1
dl 0
loc 12
rs 10
cc 1
nc 1
nop 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