HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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;
    }
}