functions.php 975 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /* ===========================================================================
  3. * Copyright (c) 2018-2019 Zindex Software
  4. *
  5. * Licensed under the MIT License
  6. * =========================================================================== */
  7. namespace Opis\Closure;
  8. /**
  9. * Serialize
  10. *
  11. * @param $data
  12. * @return string
  13. */
  14. function serialize($data)
  15. {
  16. SerializableClosure::enterContext();
  17. SerializableClosure::wrapClosures($data);
  18. $data = \serialize($data);
  19. SerializableClosure::exitContext();
  20. return $data;
  21. }
  22. /**
  23. * Unserialize
  24. *
  25. * @param $data
  26. * @param $options
  27. * @return mixed
  28. */
  29. function unserialize($data, array $options = null)
  30. {
  31. SerializableClosure::enterContext();
  32. if ($options === null || PHP_MAJOR_VERSION < 7) {
  33. $data = \unserialize($data);
  34. } else {
  35. $data = \unserialize($data, $options);
  36. }
  37. SerializableClosure::unwrapClosures($data);
  38. SerializableClosure::exitContext();
  39. return $data;
  40. }