Skip to content

Commit f6ea6cc

Browse files
committed
[LiveComponent] Optimize LiveComponentStack::isLiveComponent
Using Reflection during runtime is costly. Here I suggest using static caching to prevent unnecessary usages of Reflection.
1 parent 03c3f9b commit f6ea6cc

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/LiveComponent/src/Util/LiveComponentStack.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ public function getCurrentLiveComponent(): ?MountedComponent
4141

4242
private function isLiveComponent(string $classname): bool
4343
{
44-
return [] !== (new \ReflectionClass($classname))->getAttributes(AsLiveComponent::class);
44+
static $cache = [];
45+
46+
return $cache[$classname] ??= [] !== (new \ReflectionClass($classname))->getAttributes(AsLiveComponent::class);
4547
}
4648

4749
public function getCurrentComponent(): ?MountedComponent

0 commit comments

Comments
 (0)