/** * Метод возвращает экземпляр класса-хранилища маппингов. * Может быть переопределён в config.ini */ private static final function inst() { if (isset(self::$inst)) { return self::$inst; //---- } /* * Получим название класса */ $class = ConfigIni::mappingStorage(); /* * Класс совпадает с базовым? */ if (__CLASS__ == $class) { return self::$inst = new MappingStorage(); } /* * Нам передан класс, который отличается от SDK */ $classPath = Autoload::inst()->getClassPath($class); if (!PsCheck::isNotEmptyString($classPath)) { return PsUtil::raise('Не удалось найти класс хранилища маппингов [{}]', $class); } /* * Указанный класс должен быть наследником данного */ if (!PsUtil::isInstanceOf($class, __CLASS__)) { return PsUtil::raise('Указанное хранилище маппингов [{}] не является наследником класса [{}]', $class, __CLASS__); } return self::$inst = new $class(); }
/** @return Mapping */ public static function getMapping($mhash) { return MappingStorage::getMapping($mhash); }