Вход Регистрация
* KpuTuK (Adm)

Реализация $GLOBALS через ArrayObject

  1. class Globals extends \ArrayObject
  2. {
  3. public function __construct(array $array = [])
  4. {
  5. unset($array['GLOBALS']);
  6. $treba = array_replace([
  7. '_GET' => [],
  8. '_POST' => [],
  9. '_SERVER' => [],
  10. '_FILES' => [],
  11. '_COOKIE' => [],
  12. '_SESSION' => [],
  13. '_ATTRIBUTES' => []
  14. ], $array);
  15. parent::__construct([
  16. '_SERVER' => new \ArrayObject($treba['_SERVER']),
  17. '_GET' => new \ArrayObject($treba['_GET']),
  18. '_POST' => new \ArrayObject($treba['_POST']),
  19. '_COOKIE' => new \ArrayObject($treba['_COOKIE']),
  20. '_SESSION' => new \ArrayObject($treba['_SESSION']),
  21. '_FILES' => new \ArrayObject($treba['_FILES']),
  22. '_ATTRIBUTES' => new \ArrayObject($treba['_ATTRIBUTES'])
  23. ]);
  24. }
  25. public function __get($name)
  26. {
  27. $var = '_' . strtoupper($name);
  28. if ($this->offsetExists($var)) {
  29. return $this->offsetGet($var);
  30. }
  31. return false;
  32. }
  33. public function __set($name, $value)
  34. {
  35. $var = '_' . strtoupper($name);
  36. if ($this->offsetExists($var)) {
  37. return $this->offsetSet($var, $value);
  38. }
  39. return false;
  40. }
  41. }
» Описание: PHP ради PHP)) ))
$glob = new Globals($GLOBALS);

object(ArrayObject)[3]
public 'HTTP_HOST' => stri
» Время добавления: 18 Дек 2014 в 09:51
» Посмотров: 1767
» textarea
» Рейтинг: [+0 | -0]
Комментарии [2]
Онлайн: 2
Реклама