承接 frostybee/swarm-icons 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

frostybee/swarm-icons

Composer 安装命令:

composer require frostybee/swarm-icons

包简介

Framework-agnostic PHP SVG icon library with first-class Twig support and Iconify API integration

README 文档

README

SwarmIcons

Swarm Icons

A Framework-Agnostic PHP Library for Rendering SVG Icons

Latest Version PHP Version License

Documentation

Features

  • Access 200,000+ icons from 200+ Iconify sets, downloadable via CLI (no Node.js required)
  • Load icons from local SVG directories, the Iconify API, JSON collections, or a hybrid of local files with API fallback
  • Style icons with an immutable fluent API: size(), class(), fill(), stroke(), rotate(), flip(), and more
  • Integrates with Twig, Laravel Blade, Slim, and CommonMark
  • Deduplicate repeated icons on a page using SVG sprite sheets with <symbol> / <use> references
  • Layer multiple icons into a single composite SVG with icon stacking
  • Decorative icons get aria-hidden="true" automatically; labeled icons get role="img"
  • SVG content is sanitized: scripts, event handlers, and external resources are stripped
  • PSR-16 file-based caching with configurable TTL

Installation

composer require frostybee/swarm-icons

Requires PHP 8.2+ and psr/simple-cache ^3.0.

Quick Start

Download icon sets and render:

php bin/swarm-icons json:download mdi tabler heroicons
use Frostybee\SwarmIcons\SwarmIcons;
use Frostybee\SwarmIcons\SwarmIconsConfig;

$manager = SwarmIconsConfig::create()
    ->discoverJsonSets()
    ->cachePath('/var/cache/icons')
    ->build();

SwarmIcons::setManager($manager);

echo swarm_icon('mdi:home', ['class' => 'w-6 h-6']);
// <svg class="w-6 h-6" aria-hidden="true">...</svg>

You can also register local SVG directories or fetch from the Iconify API at runtime:

$manager = SwarmIconsConfig::create()
    ->addDirectory('custom', '/path/to/svgs')
    ->addIconifySet('heroicons')
    ->defaultAttributes(['class' => 'icon'])
    ->prefixAttributes('heroicons', ['stroke' => 'currentColor'])
    ->fallbackIcon('heroicons:question-mark-circle')
    ->build();

Documentation

For detailed guides on configuration, providers, CLI commands, framework integrations, and advanced options, visit the full documentation.

Development

composer install
Command Description
composer test Run PHPUnit tests
composer phpstan Run PHPStan (level 8)
composer cs-check Check code style (dry-run)
composer cs-fix Auto-fix code style
composer test-all PHPStan + CS check + tests

License

This project is licensed under the MIT License. See LICENSE for details.

统计信息

  • 总下载量: 58
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固