003.phpt 860 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --TEST--
  2. session object deserialization
  3. --EXTENSIONS--
  4. session
  5. --SKIPIF--
  6. <?php include('skipif.inc'); ?>
  7. --INI--
  8. session.use_cookies=0
  9. session.use_strict_mode=0
  10. session.cache_limiter=
  11. session.serialize_handler=php
  12. session.save_handler=files
  13. --FILE--
  14. <?php
  15. error_reporting(E_ALL);
  16. class foo {
  17. public $bar = "ok";
  18. function method() { $this->yes++; }
  19. }
  20. session_id("test003");
  21. session_start();
  22. session_decode('baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}}');
  23. $_SESSION["baz"]->method();
  24. $_SESSION["arr"][3]->method();
  25. var_dump($_SESSION["baz"]);
  26. var_dump($_SESSION["arr"]);
  27. session_destroy();
  28. ?>
  29. --EXPECT--
  30. object(foo)#1 (2) {
  31. ["bar"]=>
  32. string(2) "ok"
  33. ["yes"]=>
  34. int(2)
  35. }
  36. array(1) {
  37. [3]=>
  38. object(foo)#2 (2) {
  39. ["bar"]=>
  40. string(2) "ok"
  41. ["yes"]=>
  42. int(2)
  43. }
  44. }