File "helpers.php"
Full Path: /home/fundopuh/trader.fxex.org/vendor/livewire/livewire/src/helpers.php
File size: 1.46 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Livewire;
use ReflectionClass;
use Illuminate\Support\Str;
if (! function_exists('Livewire\str')) {
function str($string = null)
{
if (is_null($string)) return new class {
public function __call($method, $params) {
return Str::$method(...$params);
}
};
return Str::of($string);
}
}
if (! function_exists('Livewire\invade')) {
function invade($obj)
{
return new class($obj) {
public $obj;
public $reflected;
public function __construct($obj)
{
$this->obj = $obj;
$this->reflected = new ReflectionClass($obj);
}
public function __get($name)
{
$property = $this->reflected->getProperty($name);
$property->setAccessible(true);
return $property->getValue($this->obj);
}
public function __set($name, $value)
{
$property = $this->reflected->getProperty($name);
$property->setAccessible(true);
$property->setValue($this->obj, $value);
}
public function __call($name, $params)
{
$method = $this->reflected->getMethod($name);
$method->setAccessible(true);
return $method->invoke($this->obj, ...$params);
}
};
}
}