xicrow/php-icons

使用PHP进行图标管理

1.0.0 2022-09-16 20:45 UTC

This package is not auto-updated.

Last update: 2024-09-15 05:54:59 UTC


README

安装

推荐使用Composer进行安装。

composer require xicrow/php-icons

使用方法

根据您正在使用(或想要使用)的图标,实现您选择的图标类

// FontAwesome 4
echo \Xicrow\PhpIcons\FontAwesome4::Icon(\Xicrow\PhpIcons\FontAwesome4::Icon_Thumbs_Up);
<i class="fa fa-thumbs-up"></i>
// FontAwesome 5
echo \Xicrow\PhpIcons\FontAwesome5::Icon(\Xicrow\PhpIcons\FontAwesome5::Icon_Thumbs_Up);
<i class="fas fa-thumbs-up"></i>

目前,我们将使用BaseIcon类来展示用法。

基本用法,显示一个图标

echo BaseIcon::Icon(ICON_IDENTIFIER);
<span class="ICON_IDENTIFIER"></span>

应用一个或多个修饰符(不是所有的图标包都支持修饰符)

echo BaseIcon::Icon(ICON_IDENTIFIER, ICON_MODIFIER, ICON_MODIFIER);
<span class="ICON_IDENTIFIER ICON_MODIFIER ICON_MODIFIER"></span>

修饰符也可以从图标链式调用

echo BaseIcon::Icon(ICON_IDENTIFIER)
    ->modify(ICON_MODIFIER)
    ->modify(ICON_MODIFIER)
;
<span class="ICON_IDENTIFIER ICON_MODIFIER ICON_MODIFIER"></span>

图标的属性也可以通过链式调用设置

echo BaseIcon::Icon(ICON_IDENTIFIER)
    ->modify(ICON_MODIFIER)
    ->modify(ICON_MODIFIER)
    ->attribute('title', 'Nifty help text')
    ->attribute('style', 'color: blue;')
;
<span class="ICON_IDENTIFIER ICON_MODIFIER ICON_MODIFIER" title="Nifty help text" style="color: blue;"></span>

在图标渲染之前(无论是通过BaseIcon::render()方法还是其他字符串触发器如echo),可以向图标添加修饰符和属性。

// Made-up constants
$oStatusIcon = BaseIcon::Icon(BaseIcon::Icon_Bullet, BaseIcon::Modifier_Size_X2);
// Looping a resultset
foreach ($arrResults as $oResult) {
    // Clone the status icon, set color from result, and render
    echo (clone $oStatusIcon)->attribute('style', 'color: '.$oResult->strStatusColor.';');
}

扩展

而不是直接使用此存储库中的类,鼓励您实现自己的扩展,如下所示

class FA extends \Xicrow\PhpIcons\FontAwesome5 {}

echo FA::Icon(FA::Icon_Thumbs_Up, FA::Modifier_Lg);

这将简化您的实现,因为您决定类名,并在将来更容易更改提供者。

这还使实现常用图标的快捷方式变得容易。

class FA extends \Xicrow\PhpIcons\FontAwesome5 {
    public static function IconCreate(): self
    {
        return static::Icon(static::Icon_Plus_Circle)->attribute('style', 'color: green;');
    }

    public static function IconEdit(): self
    {
        return static::Icon(static::Icon_Pencil)->attribute('style', 'color: blue;');
    }

    public static function IconDelete(): self
    {
        return static::Icon(static::Icon_Trash)->attribute('style', 'color: red;');
    }
}

echo FA::IconCreate();

支持的图标包

目前,有生成器和以下图标包的类

  • Bootstrap 3 Glyphicons
  • Devicons
  • FontAwesome 4
  • FontAwesome 5 (免费)

生成器用于为每个图标包创建图标(和修饰符)的常量,这些生成器将能够为图标包的每个特定版本生成常量,从而支持您使用的确切版本。

类只是特定图标包的实现,即使用生成的图标(和修饰符)常量,并为该图标包实现特定的渲染方法。

待办事项

许可

版权 © 2022 Jan Ebsen MIT许可下授权。