/**
  * Метод возвращает экземпляр класса-хранилища маппингов.
  * Может быть переопределён в 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();
 }
Beispiel #2
0
 /** @return Mapping */
 public static function getMapping($mhash)
 {
     return MappingStorage::getMapping($mhash);
 }