/** * @inheritdoc */ public static function initializeByString($string) { $Object = json_decode($string); $Resource = new Resource(); $Resource->defaultLanguage = (string) $Object->defaultLanguage; $Resource->defaultPrice = Price::initializeByObject($Object->defaultPrice); $Resource->packageName = (string) $Object->packageName; $Resource->purchaseType = (string) $Object->purchaseType; $Resource->sku = (string) $Object->sku; $Resource->status = (string) $Object->status; $Resource->subscriptionPeriod = (string) @$Object->subscriptionPeriod; $Resource->trialPeriod = (string) @$Object->trialPeriod; if (isset($Object->season)) { $Resource->season = Season::initializeByObject($Object->season); } foreach ($Object->listings as $key => $Item) { $Resource->listings[$key] = Listing::initializeByObject($Item); } foreach ($Object->prices as $key => $Item) { $Resource->prices[$key] = Price::initializeByObject($Item); } return $Resource; }