oxregistry.php

Go to the documentation of this file.
00001 <?php
00002 
00006 class oxRegistry
00007 {
00013     protected static $_aInstances = array();
00014 
00024     public static function get( $sClassName )
00025     {
00026         $sClassName = strtolower( $sClassName );
00027         if ( isset( self::$_aInstances[$sClassName] ) ) {
00028             return self::$_aInstances[$sClassName];
00029         } else {
00030             self::$_aInstances[$sClassName] = oxNew( $sClassName );
00031             return self::$_aInstances[$sClassName];
00032         }
00033     }
00034 
00045     public static function set( $sClassName, $oInstance )
00046     {
00047         $sClassName = strtolower( $sClassName );
00048 
00049         if ( is_null( $oInstance ) ) {
00050             unset( self::$_aInstances[$sClassName] );
00051             return;
00052         }
00053 
00054         self::$_aInstances[$sClassName] = $oInstance;
00055     }
00056 
00064     public static function getConfig()
00065     {
00066         return self::get( "oxConfig" );
00067     }
00068 
00076     public static function getSession()
00077     {
00078         return self::get( "oxSession" );
00079     }
00080 
00088     public static function getLang()
00089     {
00090         return self::get("oxLang");
00091     }
00092 
00100     public static function getUtils()
00101     {
00102         return self::get("oxUtils");
00103     }
00104 
00110     public static function getKeys()
00111     {
00112         return array_keys( self::$_aInstances );
00113     }
00114 }