File: D:/HostingSpaces/stafa/stafa.nl/app/Komma/Components/ComponentType/SaveState/SaveStateResolver.php
<?php
namespace App\Komma\Components\ComponentType\SaveState;
class SaveStateResolver extends AbstractSaveStateResolver
{
/**
* @param string $saveStateData Json representation of the saveState
* @return SaveStateInterface
*/
public static function resolve(string $saveStateData): SaveStateInterface
{
try {
$saveState = unserialize($saveStateData);
} catch (\Exception $e) {
//Catches error exceptions like: ErrorException: Class __PHP_Incomplete_Class has no unserializer
$saveState = null;
}
if(!is_a($saveState, SaveState::class)) throw new \RuntimeException('The savestate could not be resolved since the given data does not represent a valid savestate instance. Did a namespace change');
return $saveState;
}
}