Object.php 944 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace Heanup\Frame;
  3. /**
  4. * 数据结构父类
  5. */
  6. class Object
  7. {
  8. private $_data = array ();
  9. public function __construct(Array $data = array ())
  10. {
  11. foreach ($data as $name => $value) {
  12. $this->_data[$name] = $value;
  13. }
  14. }
  15. public function __isset($name)
  16. {
  17. return isset($this->_data[$name]);
  18. }
  19. public function __set($name, $value)
  20. {
  21. if (isset($this->_data[$name])) {
  22. $this->_data[$name] = $value;
  23. }
  24. }
  25. public function __get($name)
  26. {
  27. if (isset($this->_data[$name])) {
  28. return $this->_data[$name];
  29. }
  30. }
  31. public function toArray()
  32. {
  33. return $this->_data;
  34. }
  35. public function __toString()
  36. {
  37. return json_encode($this->_data);
  38. }
  39. public function __sleep()
  40. {
  41. return $this->_data;
  42. }
  43. public function __wakeUp()
  44. {
  45. // ;
  46. }
  47. }