Unserialize.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Unserialize;
  7. use Magento\Framework\App\ObjectManager;
  8. use Magento\Framework\Serialize\Serializer\Serialize;
  9. /**
  10. * @deprecated 101.0.0
  11. */
  12. class Unserialize
  13. {
  14. /**
  15. * Serializer for safe string unserialization.
  16. *
  17. * @var Serialize
  18. */
  19. private $serializer;
  20. /**
  21. * @param Serialize|null $serializer Optional parameter for backward compatibility.
  22. */
  23. public function __construct(Serialize $serializer = null)
  24. {
  25. $this->serializer = $serializer ?: ObjectManager::getInstance()->get(Serialize::class);
  26. }
  27. /**
  28. * @param string $string
  29. * @return bool|mixed
  30. */
  31. public function unserialize($string)
  32. {
  33. if (preg_match('/[oc]:[+\-]?\d+:"/i', $string)) {
  34. trigger_error('String contains serialized object');
  35. return false;
  36. }
  37. return $this->serializer->unserialize($string);
  38. }
  39. }