@@ 5-24 (lines=20) @@ | ||
2 | ||
3 | namespace Spatie\ViewComponents; |
|
4 | ||
5 | final class CompileRenderDirective |
|
6 | { |
|
7 | /** @var \Spatie\ViewComponents\ComponentFinder */ |
|
8 | private $componentFinder; |
|
9 | ||
10 | public function __construct(ComponentFinder $componentFinder) |
|
11 | { |
|
12 | $this->componentFinder = $componentFinder; |
|
13 | } |
|
14 | ||
15 | public function __invoke(string $expression): string |
|
16 | { |
|
17 | $expressionParts = explode(',', $expression, 2); |
|
18 | ||
19 | $componentPath = $expressionParts[0]; |
|
20 | $props = trim($expressionParts[1] ?? '[]'); |
|
21 | ||
22 | return "<?php echo app(app(Spatie\ViewComponents\ComponentFinder::class)->find({$componentPath}), {$props})->toHtml(); ?>"; |
|
23 | } |
|
24 | } |
|
25 |
@@ 5-15 (lines=11) @@ | ||
2 | ||
3 | namespace Spatie\ViewComponents; |
|
4 | ||
5 | final class CompileStartRenderDirective |
|
6 | { |
|
7 | public function __invoke(string $expression): string |
|
8 | { |
|
9 | $expressionParts = explode(',', $expression, 2); |
|
10 | $componentPath = $expressionParts[0]; |
|
11 | $props = trim($expressionParts[1] ?? '[]'); |
|
12 | ||
13 | return "<?php app(Spatie\ViewComponents\ComponentFactory::class)->startComponent(app(Spatie\ViewComponents\ComponentFinder::class)->find({$componentPath}), {$props}); ?>"; |
|
14 | } |
|
15 | } |
|
16 |