Une bibliothèque PHP pratique pour restituer les icônes SVG.
Accédez à plus de 200 000 icônes parmi plus de 150 jeux d'icônes open source directement à partir de vos fichiers php !
Merci à Iconify ❤️
composer require yassinedoghri/php-icons
Exécutez la commande suivante pour initialiser le fichier de configuration :
vendor/bin/php-icons init
Cela vous demandera de créer un fichier de configuration php-icons.php
à la racine de votre projet. Voir la référence de configuration pour plus d'informations.
icon(string $iconKey, array $attributes)
Utilisez la fonction globale icon(…)
dans vos fichiers de vue avec la touche icône ( {prefix}:{icon}
) comme paramètre :
{prefix}
: est le préfixe du jeu d'icônes{name}
: est le nom de l'icône 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>
Pour ajouter des attributs, utilisez le deuxième paramètre ou appelez les méthodes attr()
ou 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>
Conseil
Recherchez et copiez les clés d'icônes des jeux d'icônes open source populaires à partir de l'index d'Iconify.
Important
Lors de la première définition des icônes, un espace réservé ( �
défaut) sera affiché.
Assurez-vous d'exécuter la commande scan
pour charger les SVG.
vendor/bin/php-icons scan
La commande scan
effectuera une analyse statique de tous les fichiers PHP dans vos chemins configurés pour identifier les clés d'icône ( {prefix}:{name}
) et télécharger les icônes correspondantes.
Utilisation de l'identifiant icon
par défaut :
fonctions icon(…)
echo icon ( ' ri:php-fill ' ) // identified "ri:php-fill"
@icon(…)
annotations dans les commentaires
// @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"
*/
Votre fichier de configuration est chargé à la fois par l'outil CLI php-icons
et par la classe PHPIcons, il devrait ressembler à ceci :
<?php
declare (strict_types= 1 );
use PHPIcons Config PHPIconsConfig ;
return PHPIconsConfig:: configure ()
-> withPaths ([
__DIR__ . ' /src '
])
-> withDefaultPrefix ( '' )
-> withPlaceholder ( ' � ' );
withPaths([])
Liste des chemins d'accès à vos fichiers sources. Les fichiers PHP seront analysés et analysés pour découvrir les icônes que vous avez définies.
withAPIHosts([])
Iconify API hôtes pour interroger le téléchargement des icônes svg. Commence par interroger le premier hôte, le reste est utilisé comme sauvegarde.
La valeur par défaut est les hôtes publics d'Iconify : ["https://api.iconify.design","https://api.simplesvg.com", "https://api.unisvg.com"]
withLocalIconSets([])
Si vous avez des icônes personnalisées, les icônes php peuvent les rechercher localement dans votre système de fichiers au lieu d'appeler l'API Iconify.
Important
php-icons recherchera les fichiers {name}.svg
dans vos jeux d'icônes locaux
Prend un tableau associatif avec le préfixe du jeu d'icônes comme clé et son chemin comme valeur.
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('')
Préfixe de jeu d'icônes par défaut à utiliser lorsqu'aucun n'est défini.
Avec material-symbols
définis comme préfixe par défaut :
// this
echo icon ( ' bolt ' );
// same as this
echo icon ( ' material-symbols:bolt ' );
withDefaultIcon()
Icône par défaut à utiliser lorsqu'une icône n'a pas été trouvée.
Prend une clé d'icône {prefix}:{name}
. Si aucun préfixe n’est défini, le préfixe par défaut sera utilisé à la place.
withDefaultIconPerSet([])
Icône par défaut à utiliser lorsqu'une icône n'a pas été trouvée dans un ensemble.
Prend un tableau associatif, la clé étant le préfixe du jeu d'icônes et la valeur étant l'icône par défaut.
withPlaceholder('�')
Chaîne à afficher lorsque l'icône est introuvable ou inconnue.
La valeur par défaut est �
CARACTÈRE DE REMPLACEMENT).
withIdentifiers([])
Noms de fonctions ou de méthodes à faire correspondre pour identifier les clés d'icônes dans vos fichiers sources.
La valeur par défaut est ['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
Cela n'aurait pas été possible sans le travail formidable de l'équipe Iconify et des concepteurs qui gèrent les nombreux jeux d'icônes open source.
Inspiré par l'astro-icône, les icônes de lame et le recteur.
Code publié sous la licence MIT.
Copyright (c) 2024-présent, Yassine Doghri (@yassinedoghri).