File: D:/HostingSpaces/bomacon/bomacon.nl/app/Components/ComponentType/SaveState/SaveStateResolver.php
<?php
namespace App\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;
}
}