Hoa central
Context.php
Go to the documentation of this file.
1 <?php
2 
37 namespace Hoa\Stream;
38 
47 class Context
48 {
54  protected $_id = null;
55 
61  protected static $_instances = [];
62 
63 
64 
70  protected function __construct($id)
71  {
72  $this->_id = $id;
73  $this->_context = stream_context_create();
74 
75  return;
76  }
77 
85  public static function getInstance($id)
86  {
87  if (empty($id)) {
88  throw new Exception('Context ID must not be null.', 0);
89  }
90 
91  if (false === static::contextExists($id)) {
92  static::$_instances[$id] = new static($id);
93  }
94 
95  return static::$_instances[$id];
96  }
97 
103  public function getId()
104  {
105  return $this->_id;
106  }
107 
114  public static function contextExists($id)
115  {
116  return array_key_exists($id, static::$_instances);
117  }
118 
126  public function setOptions(Array $options)
127  {
128  return stream_context_set_option($this->getContext(), $options);
129  }
130 
138  public function setParameters(Array $parameters)
139  {
140  return stream_context_set_params($this->getContext(), $parameters);
141  }
142 
148  public function getOptions()
149  {
150  return stream_context_get_options($this->getContext());
151  }
152 
158  public function getParameters()
159  {
160  return stream_context_get_params($this->getContext());
161  }
162 
168  public function getContext()
169  {
170  return $this->_context;
171  }
172 }
setOptions(Array $options)
Definition: Context.php:126
static contextExists($id)
Definition: Context.php:114
setParameters(Array $parameters)
Definition: Context.php:138
static $_instances
Definition: Context.php:61
static getInstance($id)
Definition: Context.php:85