OXID eShop CE  4.8.12
 All Classes Files Functions Variables Pages
oxregistry.php
Go to the documentation of this file.
1 <?php
2 
6 class oxRegistry
7 {
13  protected static $_aInstances = array();
14 
24  public static function get( $sClassName )
25  {
26  $sClassName = strtolower( $sClassName );
27  if ( isset( self::$_aInstances[$sClassName] ) ) {
28  return self::$_aInstances[$sClassName];
29  } else {
30  self::$_aInstances[$sClassName] = oxNew( $sClassName );
31  return self::$_aInstances[$sClassName];
32  }
33  }
34 
45  public static function set( $sClassName, $oInstance )
46  {
47  $sClassName = strtolower( $sClassName );
48 
49  if ( is_null( $oInstance ) ) {
50  unset( self::$_aInstances[$sClassName] );
51  return;
52  }
53 
54  self::$_aInstances[$sClassName] = $oInstance;
55  }
56 
64  public static function getConfig()
65  {
66  return self::get( "oxConfig" );
67  }
68 
76  public static function getSession()
77  {
78  return self::get( "oxSession" );
79  }
80 
88  public static function getLang()
89  {
90  return self::get("oxLang");
91  }
92 
100  public static function getUtils()
101  {
102  return self::get("oxUtils");
103  }
104 
110  public static function getKeys()
111  {
112  return array_keys( self::$_aInstances );
113  }
114 }