Uma biblioteca PHP conveniente para renderizar ícones SVG.
Obtenha acesso a mais de 200.000 ícones de mais de 150 conjuntos de ícones de código aberto diretamente de seus arquivos php!
Obrigado ao Iconify ❤️
composer require yassinedoghri/php-icons
Execute o seguinte comando para inicializar o arquivo de configuração:
vendor/bin/php-icons init
Isso solicitará que você crie um arquivo de configuração php-icons.php
na raiz do seu projeto. Consulte a referência de configuração para obter mais informações.
icon(string $iconKey, array $attributes)
Use a função global icon(…)
em seus arquivos de visualização com a tecla do ícone ( {prefix}:{icon}
) como parâmetro:
{prefix}
: é o prefixo do conjunto de ícones{name}
: é o nome do ícone 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 adicionar atributos, use o segundo parâmetro ou chame os métodos 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>
Dica
Encontre e copie as chaves de ícones de conjuntos populares de ícones de código aberto do índice do Iconify.
Importante
Ao definir ícones pela primeira vez, um espaço reservado ( �
padrão) será exibido.
Certifique-se de executar o comando scan
para carregar os SVGs.
vendor/bin/php-icons scan
O comando scan
realizará uma análise estática de todos os arquivos PHP em seus caminhos configurados para identificar as chaves dos ícones ( {prefix}:{name}
) e baixar os ícones correspondentes.
Usando o identificador icon
por padrão:
funções de icon(…)
echo icon ( ' ri:php-fill ' ) // identified "ri:php-fill"
@icon(…)
anotações em comentários
// @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"
*/
Seu arquivo de configuração é carregado pela ferramenta CLI php-icons
e pela classe PHPIcons, deve ficar assim:
<?php
declare (strict_types= 1 );
use PHPIcons Config PHPIconsConfig ;
return PHPIconsConfig:: configure ()
-> withPaths ([
__DIR__ . ' /src '
])
-> withDefaultPrefix ( '' )
-> withPlaceholder ( ' � ' );
withPaths([])
Lista de caminhos para seus arquivos de origem. Os arquivos PHP serão analisados e escaneados para descobrir os ícones que você definiu.
withAPIHosts([])
Hosts de API Iconify para consultar o download de ícones SVG. Começa consultando o primeiro host, o restante é usado como backup.
O padrão é os hosts públicos do Iconify: ["https://api.iconify.design","https://api.simplesvg.com", "https://api.unisvg.com"]
withLocalIconSets([])
Se você tiver ícones personalizados, os ícones php podem procurá-los localmente em seu sistema de arquivos em vez de chamar a API Iconify.
Importante
php-icons procurará por arquivos {name}.svg
em seus conjuntos de ícones locais
Recebe uma matriz associativa com o prefixo do conjunto de ícones como chave e seu caminho 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('')
Prefixo de conjunto de ícones padrão a ser usado quando nenhum estiver definido.
Com material-symbols
definidos como prefixo padrão:
// this
echo icon ( ' bolt ' );
// same as this
echo icon ( ' material-symbols:bolt ' );
withDefaultIcon()
Ícone padrão a ser usado quando um ícone não for encontrado.
Recebe uma chave de ícone {prefix}:{name}
. Se um prefixo não for definido, o prefixo padrão será usado.
withDefaultIconPerSet([])
Ícone padrão a ser usado quando um ícone não for encontrado em um conjunto.
Recebe uma matriz associativa, com a chave sendo o prefixo do conjunto de ícones e o valor sendo o ícone padrão.
withPlaceholder('�')
String para mostrar quando o ícone não é encontrado ou é desconhecido.
O padrão é �
CARÁTER DE SUBSTITUIÇÃO).
withIdentifiers([])
Nomes de funções ou métodos correspondentes para identificar teclas de ícone em seus arquivos de origem.
O padrão é ['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
Isso não teria sido possível sem o trabalho incrível da equipe do Iconify e dos designers que mantêm os diversos conjuntos de ícones de código aberto.
Inspirado no astro-ícone, nos ícones das lâminas e no reitor.
Código lançado sob a licença MIT.
Copyright (c) 2024 até o presente, Yassine Doghri (@yassinedoghri).