示例#1
0
 /** @return CssSprite */
 public static function inst($spritable)
 {
     //Если строка, значит передано название поддиректории в папке www/resources/sprites
     $spritable = is_string($spritable) ? DirManager::sprites($spritable)->getDirItem() : $spritable;
     check_condition($spritable instanceof Spritable, 'Элемент для построения спрайта не является подклассом Spritable');
     $name = $spritable->getSpriteName();
     if (array_key_exists($name, self::$sprites)) {
         return self::$sprites[$name];
     }
     if ($spritable instanceof DirItem) {
         check_condition($spritable->isDir(), "Некорректная директория {$spritable} для построения спрайта");
     }
     return self::$sprites[$name] = new CssSprite($name, $spritable);
 }