/**
  * Метод возвращает экземпляр класса-фильтра Smarty.
  * Для переопределения этого класса, на уровне проектного config.ini
  * должен быть задан другой класс.
  * 
  * Это позволит:
  * 1. Использовать стандартизованный метод фильтрации
  * 2. Переопределить стандартизованный метод фильтрации
  */
 public static final function inst()
 {
     if (isset(self::$inst)) {
         return self::$inst;
         //----
     }
     /*
      * Получим название класса
      */
     $class = ConfigIni::smartyFilter();
     /*
      * Класс подключения библиотек совпадает с базовым
      */
     if (__CLASS__ == $class) {
         return self::$inst = new PSSmartyFilter();
     }
     /*
      * Нам передан класс, который отличается от SDK
      */
     $classPath = Autoload::inst()->getClassPath($class);
     if (!PsCheck::isNotEmptyString($classPath)) {
         return PsUtil::raise('Не удалось найти класс фильтра Smarty [{}]', $class);
     }
     /*
      * Указанный класс должен быть наследником данного
      */
     if (!PsUtil::isInstanceOf($class, __CLASS__)) {
         return PsUtil::raise('Указанный фильтр Smarty [{}] не является наследником класса [{}]', $class, __CLASS__);
     }
     return self::$inst = new $class();
 }