xicrow / php-icons
使用PHP进行图标管理
1.0.0
2022-09-16 20:45 UTC
Requires
- php: ^7.4
- ext-json: *
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 (免费)
生成器用于为每个图标包创建图标(和修饰符)的常量,这些生成器将能够为图标包的每个特定版本生成常量,从而支持您使用的确切版本。
类只是特定图标包的实现,即使用生成的图标(和修饰符)常量,并为该图标包实现特定的渲染方法。
待办事项
- 也许为所有版本的图标包生成接口?
- 这会过于杂乱吗?..
- 如果是这样,它们应该位于它们自己的单独命名空间中
src/FontAwesome4/FontAwesome4_0_0Icons
(或类似内容)
- 找出是否有可能获取FontAwesome 5 PRO图标列表
- 他们的公开可访问的图标列表当然是免费的图标
- 新的图标生成器/类的想法
- Glyphicons
- IcoMoon
- Ionicons
- Material
- Icofont
- Icons8
- Typicons
- Microns
许可
版权 © 2022 Jan Ebsen MIT许可下授权。