Globaler Datenspeicher

PHP  (28.12.2010 00:15) Die Klasse stellt einen globalen Speicher fuer Eigenenschaften zur Verfügung.
Die Klasse funktioniert nur mit PHP >= 5.3.0. Bei älteren Versionen ist die Methode __callStatic() nicht implementiert!

Quellcode (ausblenden | aufklappen)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
 
   /**
    * Die Klasse stellt einen Globalen Speicher fuer Eigenenschaften zur Verfuegung.
    * Aufruf zum Speichern: Globals::einbeliebigername("ein beliebiger wert");
    * Aufruf zum Auslesen: Globals::einbeliebigername();
    * Aufruf zum Loeschen: Globals::__unset("einbeliebigername");
    * 
    * Die Klasse Funktioniert nur mit PHP >= 5.3.0
    * Bei aelteren Versionen ist die Methode __callStatic() nicht implementiert!
    */
 
class Globals {
 
   
   /**
    * Datenspeicher
    * @var array
    */
   private static $_store = array();
 
   
   /**
    * Magische Methode zum Speichern von Eigenschaften
    * @param String $name
    * @param mixed $arguments
    * @return mixed
    */
   public static function __callStatic($name, $arguments) {
      if(isset($arguments[0])) {
         self::$_store[$name] = $arguments[0];
         return self::$_store[$name];
      } elseif(isset(self::$_store[$name])) {
         return self::$_store[$name];
      } else {
         return null;
      }
   }
 
   
   /**
    * Liefert die Namen aller Eigenschaften als String
    * @return String
    */
   public static function __toString() {
      return implode("\n", array_keys(self::$_store));
   }
   
   
   /**
    * Entfernt eine Eigenschaft aus dem Speicher sofern diese vorhanden ist
    * @param String $name 
    */
   public static function __unset($name) {
      if(isset(self::$_store[$name])) {
         unset(self::$_store[$name]);
      }
   }
 
 
}