Una biblioteca PHP conveniente para representar íconos svg.
¡Obtenga acceso a más de 200.000 íconos de más de 150 conjuntos de íconos de código abierto directamente desde sus archivos php!
Gracias a Iconify ❤️
composer require yassinedoghri/php-icons
Ejecute el siguiente comando para inicializar el archivo de configuración:
vendor/bin/php-icons init
Esto le pedirá que cree un archivo de configuración php-icons.php
en la raíz de su proyecto. Consulte la referencia de configuración para obtener más información.
icon(string $iconKey, array $attributes)
Utilice la función de icon(…)
en sus archivos de visualización con la tecla de icono ( {prefix}:{icon}
) como parámetro:
{prefix}
: es el prefijo del conjunto de iconos{name}
: es el nombre del icono echo icon ( ' material-symbols:bolt ' );
// <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24">
// <path fill="currentColor" d="m8 22l1-7H4l9-13h2l-1 8h6L10 22z"/>
// </svg>
Para agregar atributos, use el segundo parámetro o llame a los métodos attr()
o attributes()
:
echo icon ( ' material-symbols:bolt ' , [
' class ' => ' text-2xl ' ,
' style ' => ' color: yellow; '
]);
// <svg class="text-2xl" style="color: yellow;" […]>…</svg>
echo icon ( ' material-symbols:bolt ' )
-> attr ( ' class ' , ' text-2xl ' )
-> attr ( ' style ' , ' color: yellow; ' );
// <svg class="text-2xl" style="color: yellow;" […]>…</svg>
echo icon ( ' material-symbols:bolt ' )
-> attributes ([
' class ' => ' text-2xl ' ,
' style ' => ' color: yellow; '
]);
// <svg class="text-2xl" style="color: yellow;" […]>…</svg>
Consejo
Busque y copie las claves de íconos de conjuntos de íconos populares de código abierto del índice de Iconify.
Importante
Al definir iconos por primera vez, se mostrará un marcador de posición ( �
forma predeterminada).
Asegúrese de ejecutar el comando scan
para cargar los SVG.
vendor/bin/php-icons scan
El comando scan
realizará un análisis estático de todos los archivos PHP en sus rutas configuradas para identificar las claves de los íconos ( {prefix}:{name}
) y descargar los íconos correspondientes.
Usando el identificador icon
por defecto:
funciones icon(…)
echo icon ( ' ri:php-fill ' ) // identified "ri:php-fill"
@icon(…)
anotaciones en comentarios
// @icon('ri:heart-fill') --> identified "ri:heart-fill"
# @icon('ri:home-fill') --> identified "ri:home-fill"
/*
* @icon('ri:user-fill') --> identified "ri:user-fill"
* @icon('ri:group-fill') --> identified "ri:group-fill"
*/
Su archivo de configuración se carga tanto con la herramienta CLI php-icons
como con la clase PHPIcons, debería verse así:
<?php
declare (strict_types= 1 );
use PHPIcons Config PHPIconsConfig ;
return PHPIconsConfig:: configure ()
-> withPaths ([
__DIR__ . ' /src '
])
-> withDefaultPrefix ( '' )
-> withPlaceholder ( ' � ' );
withPaths([])
Lista de rutas a sus archivos fuente. Los archivos PHP se analizarán y escanearán para descubrir los íconos que ha definido.
withAPIHosts([])
Hosts API de Iconify para consultar la descarga de iconos svg. Comienza consultando el primer host, el resto se utiliza como respaldo.
Los valores predeterminados son los hosts públicos de Iconify: ["https://api.iconify.design","https://api.simplesvg.com", "https://api.unisvg.com"]
withLocalIconSets([])
Si tiene íconos personalizados, php-icons puede buscarlos localmente en su sistema de archivos en lugar de llamar a la API Iconify.
Importante
php-icons buscará archivos {name}.svg
en sus conjuntos de iconos locales
Toma una matriz asociativa con el prefijo establecido en el icono como clave y su ruta como valor.
my-custom-set/
├── heart.svg
├── rocket.svg
├── star.svg
└── user.svg
// in your config file
-> withLocalIconSets ([
' custom ' => ' /path/to/my-custom-set ' ,
])
// ✅ ALL GOOD
echo icon ( ' custom:heart ' );
echo icon ( ' custom:rocket ' );
echo icon ( ' custom:star ' );
echo icon ( ' custom:user ' );
// ICONS NOT FOUND
echo icon ( ' custom:banana ' );
echo icon ( ' custom:key ' );
withDefaultPrefix('')
Prefijo de conjunto de iconos predeterminado que se utilizará cuando no se haya configurado ninguno.
Con material-symbols
configurados como prefijo predeterminado:
// this
echo icon ( ' bolt ' );
// same as this
echo icon ( ' material-symbols:bolt ' );
withDefaultIcon()
Ícono predeterminado para usar cuando no se ha encontrado un ícono.
Toma una clave de icono {prefix}:{name}
. Si no se establece un prefijo, se utilizará el prefijo predeterminado.
withDefaultIconPerSet([])
Icono predeterminado que se utilizará cuando no se haya encontrado un icono en un conjunto.
Toma una matriz asociativa, donde la clave es el prefijo del conjunto de iconos y el valor es el icono predeterminado.
withPlaceholder('�')
Cadena para mostrar cuando el icono no se encuentra o es desconocido.
El valor predeterminado es �
CARÁCTER DE REEMPLAZO).
withIdentifiers([])
Nombres de funciones o métodos que coincidan para identificar claves de iconos en sus archivos fuente.
El valor predeterminado es ['icon']
.
> vendor/bin/php-icons
_ _
_ __ | | __ _ __ (_) ___ ___ _ __ ___
| ' _ | ' _ | ' _ | |/ __/ _ | ' _ / __ |
| | _) | | | | | _) | | | (_ | (_) | | | _ _
| .__/ | _ | | _ | .__/ | _ | _ __ _ __/ | _ | | _ | ___/
| _ | | _ |
A convenient PHP library to render svg icons
----------------------------------------------
PHPIcons, version 1.0.0.0-dev
Commands:
*
init i Configure PHPIcons interactively
scan s Scans source files and loads icons
Run ` < command > --help ` for specific help
Esto no habría sido posible sin el fantástico trabajo del equipo de Iconify y de los diseñadores que mantienen los numerosos conjuntos de iconos de código abierto.
Inspirado en astro-icon, blade-icons y rector.
Código publicado bajo la licencia MIT.
Copyright (c) 2024-presente, Yassine Doghri (@yassinedoghri).