ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
Context.php
Go to the documentation of this file.
1<?php
2
11{
12
17 private $_storage = array();
18
24 public function register($name, &$ref)
25 {
26 if (array_key_exists($name, $this->_storage)) {
27 trigger_error(
28 "Name $name produces collision, cannot re-register",
29 E_USER_ERROR
30 );
31 return;
32 }
33 $this->_storage[$name] =& $ref;
34 }
35
42 public function &get($name, $ignore_error = false)
43 {
44 if (!array_key_exists($name, $this->_storage)) {
45 if (!$ignore_error) {
46 trigger_error(
47 "Attempted to retrieve non-existent variable $name",
48 E_USER_ERROR
49 );
50 }
51 $var = null; // so we can return by reference
52 return $var;
53 }
54 return $this->_storage[$name];
55 }
56
61 public function destroy($name)
62 {
63 if (!array_key_exists($name, $this->_storage)) {
64 trigger_error(
65 "Attempted to destroy non-existent variable $name",
66 E_USER_ERROR
67 );
68 return;
69 }
70 unset($this->_storage[$name]);
71 }
72
78 public function exists($name)
79 {
80 return array_key_exists($name, $this->_storage);
81 }
82
87 public function loadArray($context_array)
88 {
89 foreach ($context_array as $key => $discard) {
90 $this->register($key, $context_array[$key]);
91 }
92 }
93}
94
95// vim: et sw=4 sts=4
Registry object that contains information about the current context.
Definition: Context.php:11
destroy($name)
Destroys a variable in the context.
Definition: Context.php:61
exists($name)
Checks whether or not the variable exists.
Definition: Context.php:78
loadArray($context_array)
Loads a series of variables from an associative array.
Definition: Context.php:87
$_storage
Private array that stores the references.
Definition: Context.php:17