Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Livewire\Features\SupportAttributes; use Illuminate\Support\Collection; ..
Decoded Output download
<?php
namespace Livewire\Features\SupportAttributes;
use Illuminate\Support\Collection;
use ReflectionAttribute;
use ReflectionObject;
class AttributeCollection extends Collection
{
static function fromComponent($component, $subTarget = null, $propertyNamePrefix = '')
{
$instance = new static;
$reflected = new ReflectionObject($subTarget ?? $component);
foreach (static::getClassAttributesRecursively($reflected) as $attribute) {
$instance->push(tap($attribute->newInstance(), function ($attribute) use ($component, $subTarget) {
$attribute->__boot($component, AttributeLevel::ROOT, null, null, $subTarget);
}));
}
foreach ($reflected->getMethods() as $method) {
foreach ($method->getAttributes(Attribute::class, ReflectionAttribute::IS_INSTANCEOF) as $attribute) {
$instance->push(tap($attribute->newInstance(), function ($attribute) use ($component, $method, $propertyNamePrefix, $subTarget) {
$attribute->__boot($component, AttributeLevel::METHOD, $propertyNamePrefix . $method->getName(), $method->getName(), $subTarget);
}));
}
}
foreach ($reflected->getProperties() as $property) {
foreach ($property->getAttributes(Attribute::class, ReflectionAttribute::IS_INSTANCEOF) as $attribute) {
$instance->push(tap($attribute->newInstance(), function ($attribute) use ($component, $property, $propertyNamePrefix, $subTarget) {
$attribute->__boot($component, AttributeLevel::PROPERTY, $propertyNamePrefix . $property->getName(), $property->getName(), $subTarget);
}));
}
}
return $instance;
}
protected static function getClassAttributesRecursively($reflected) {
$attributes = [];
while ($reflected) {
foreach ($reflected->getAttributes(Attribute::class, ReflectionAttribute::IS_INSTANCEOF) as $attribute) {
$attributes[] = $attribute;
}
$reflected = $reflected->getParentClass();
}
return $attributes;
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Livewire\Features\SupportAttributes;
use Illuminate\Support\Collection;
use ReflectionAttribute;
use ReflectionObject;
class AttributeCollection extends Collection
{
static function fromComponent($component, $subTarget = null, $propertyNamePrefix = '')
{
$instance = new static;
$reflected = new ReflectionObject($subTarget ?? $component);
foreach (static::getClassAttributesRecursively($reflected) as $attribute) {
$instance->push(tap($attribute->newInstance(), function ($attribute) use ($component, $subTarget) {
$attribute->__boot($component, AttributeLevel::ROOT, null, null, $subTarget);
}));
}
foreach ($reflected->getMethods() as $method) {
foreach ($method->getAttributes(Attribute::class, ReflectionAttribute::IS_INSTANCEOF) as $attribute) {
$instance->push(tap($attribute->newInstance(), function ($attribute) use ($component, $method, $propertyNamePrefix, $subTarget) {
$attribute->__boot($component, AttributeLevel::METHOD, $propertyNamePrefix . $method->getName(), $method->getName(), $subTarget);
}));
}
}
foreach ($reflected->getProperties() as $property) {
foreach ($property->getAttributes(Attribute::class, ReflectionAttribute::IS_INSTANCEOF) as $attribute) {
$instance->push(tap($attribute->newInstance(), function ($attribute) use ($component, $property, $propertyNamePrefix, $subTarget) {
$attribute->__boot($component, AttributeLevel::PROPERTY, $propertyNamePrefix . $property->getName(), $property->getName(), $subTarget);
}));
}
}
return $instance;
}
protected static function getClassAttributesRecursively($reflected) {
$attributes = [];
while ($reflected) {
foreach ($reflected->getAttributes(Attribute::class, ReflectionAttribute::IS_INSTANCEOF) as $attribute) {
$attributes[] = $attribute;
}
$reflected = $reflected->getParentClass();
}
return $attributes;
}
}
Function Calls
None |
Stats
MD5 | 95e0b1d683b3d6f9d269f88c29d98c3e |
Eval Count | 0 |
Decode Time | 102 ms |