<?php
namespace Livewire\Features;
use Livewire\Livewire;
use Livewire\ImplicitlyBoundMethod;
class SupportComponentTraits
{
static function init() { return new static; }
protected $componentIdMethodMap = [];
function __construct()
{
Livewire::listen('component.boot', function ($component) {
foreach (class_uses_recursive($component) as $trait) {
$hooks = [
'boot',
'hydrate',
'mount',
'booted',
'updating',
'updated',
'rendering',
'rendered',
'dehydrate',
];
foreach ($hooks as $hook) {
$method = $hook.class_basename($trait);
if (method_exists($component, $method)) {
$this->componentIdMethodMap[$component->id][$hook][] = [$component, $method];
}
}
}
$methods = $this->componentIdMethodMap[$component->id]['boot'] ?? [];
foreach ($methods as $method) {
ImplicitlyBoundMethod::call(app(), $method);
}
});
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX