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\SupportModels; use Illuminate\Database\ClassMorphViola..
Decoded Output download
<?php
namespace Livewire\Features\SupportModels;
use Illuminate\Database\ClassMorphViolationException;
use Illuminate\Database\Eloquent\Relations\Relation;
use Livewire\Mechanisms\HandleComponents\Synthesizers\Synth;
use Illuminate\Queue\SerializesAndRestoresModelIdentifiers;
use Illuminate\Database\Eloquent\Model;
class ModelSynth extends Synth {
use SerializesAndRestoresModelIdentifiers;
public static $key = 'mdl';
static function match($target) {
return $target instanceof Model;
}
function dehydrate($target) {
$class = $target::class;
try {
// If no alias is found, this just returns the class name
$alias = $target->getMorphClass();
} catch (ClassMorphViolationException $e) {
// If the model is not using morph classes, this exception is thrown
$alias = $class;
}
$serializedModel = $target->exists
? (array) $this->getSerializedPropertyValue($target)
: null;
$meta = ['class' => $alias];
// If the model doesn't exist as it's an empty model or has been
// recently deleted, then we don't want to include any key.
if ($serializedModel) $meta['key'] = $serializedModel['id'];
return [
null,
$meta,
];
}
function hydrate($data, $meta) {
$class = $meta['class'];
// If no alias found, this returns `null`
$aliasClass = Relation::getMorphedModel($class);
if (! is_null($aliasClass)) {
$class = $aliasClass;
}
// If no key is provided then an empty model is returned
if (! array_key_exists('key', $meta)) {
return new $class;
}
$key = $meta['key'];
$model = (new $class)->newQueryForRestoration($key)->useWritePdo()->firstOrFail();
return $model;
}
function get(&$target, $key) {
throw new \Exception('Can\'t access model properties directly');
}
function set(&$target, $key, $value, $pathThusFar, $fullPath) {
throw new \Exception('Can\'t set model properties directly');
}
function call($target, $method, $params, $addEffect) {
throw new \Exception('Can\'t call model methods directly');
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Livewire\Features\SupportModels;
use Illuminate\Database\ClassMorphViolationException;
use Illuminate\Database\Eloquent\Relations\Relation;
use Livewire\Mechanisms\HandleComponents\Synthesizers\Synth;
use Illuminate\Queue\SerializesAndRestoresModelIdentifiers;
use Illuminate\Database\Eloquent\Model;
class ModelSynth extends Synth {
use SerializesAndRestoresModelIdentifiers;
public static $key = 'mdl';
static function match($target) {
return $target instanceof Model;
}
function dehydrate($target) {
$class = $target::class;
try {
// If no alias is found, this just returns the class name
$alias = $target->getMorphClass();
} catch (ClassMorphViolationException $e) {
// If the model is not using morph classes, this exception is thrown
$alias = $class;
}
$serializedModel = $target->exists
? (array) $this->getSerializedPropertyValue($target)
: null;
$meta = ['class' => $alias];
// If the model doesn't exist as it's an empty model or has been
// recently deleted, then we don't want to include any key.
if ($serializedModel) $meta['key'] = $serializedModel['id'];
return [
null,
$meta,
];
}
function hydrate($data, $meta) {
$class = $meta['class'];
// If no alias found, this returns `null`
$aliasClass = Relation::getMorphedModel($class);
if (! is_null($aliasClass)) {
$class = $aliasClass;
}
// If no key is provided then an empty model is returned
if (! array_key_exists('key', $meta)) {
return new $class;
}
$key = $meta['key'];
$model = (new $class)->newQueryForRestoration($key)->useWritePdo()->firstOrFail();
return $model;
}
function get(&$target, $key) {
throw new \Exception('Can\'t access model properties directly');
}
function set(&$target, $key, $value, $pathThusFar, $fullPath) {
throw new \Exception('Can\'t set model properties directly');
}
function call($target, $method, $params, $addEffect) {
throw new \Exception('Can\'t call model methods directly');
}
}
Function Calls
None |
Stats
MD5 | 5d526fbce2b1d49e6f2f23f1fc49a43c |
Eval Count | 0 |
Decode Time | 115 ms |