<?php /**********************************************************\ | | | hprose | | | | Official WebSite: http://www.hprose.com/ | | http://www.hprose.net/ | | http://www.hprose.org/ | | | \**********************************************************/ /**********************************************************\ * * * HproseClassManager.php * * * * hprose class manager library for php5. * * * * LastModified: Nov 12, 2013 * * Author: Ma Bingyao <andot@hprfc.com> * * * \**********************************************************/ class HproseClassManager { private static $classCache1 = array(); private static $classCache2 = array(); public static function register($class, $alias) { self::$classCache1[$alias] = $class; self::$classCache2[$class] = $alias; } public static function getClassAlias($class) { if (array_key_exists($class, self::$classCache2)) { return self::$classCache2[$class]; } $alias = str_replace('\\', '_', $class); self::register($class, $alias); return $alias; } public static function getClass($alias) { if (array_key_exists($alias, self::$classCache1)) { return self::$classCache1[$alias]; } if (!class_exists($alias)) { $class = str_replace('_', '\\', $alias); if (class_exists($class)) { self::register($class, $alias); return $class; } eval("class " . $alias . " { }"); } return $alias; } } ?>