Completed
Push — master ( 839e9e...4e091b )
by Costin
03:53
created

CompileFormDirective::__invoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.8333
c 0
b 0
f 0
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
}