SVG 아이콘을 렌더링하는 편리한 PHP 라이브러리입니다.
PHP 파일에서 직접 150개 이상의 오픈 소스 아이콘 세트에 있는 200,000개 이상의 아이콘에 액세스하세요!
Iconify에게 감사드립니다 ❤️
composer require yassinedoghri/php-icons
다음 명령을 실행하여 구성 파일을 초기화합니다.
vendor/bin/php-icons init
그러면 프로젝트 루트에 php-icons.php
구성 파일을 생성하라는 메시지가 표시됩니다. 자세한 내용은 구성 참조를 확인하세요.
icon(string $iconKey, array $attributes)
함수 아이콘 키( {prefix}:{icon}
)를 매개변수로 사용하여 보기 파일에서 전역 icon(…)
기능을 사용합니다.
{prefix}
: 아이콘 세트 접두사입니다.{name}
: 아이콘 이름입니다. 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>
속성을 추가하려면 두 번째 매개변수를 사용하거나 attr()
또는 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>
팁
Iconify의 색인에서 인기 있는 오픈 소스 아이콘 세트의 아이콘 키를 찾아 복사하세요.
중요한
아이콘을 처음 정의하면 자리 표시자(기본적 �
�)가 표시됩니다.
SVG를 로드하려면 scan
명령을 실행해야 합니다.
vendor/bin/php-icons scan
scan
명령은 구성된 경로에 있는 모든 PHP 파일의 정적 분석을 수행하여 아이콘 키( {prefix}:{name}
)를 식별하고 해당 아이콘을 다운로드합니다.
기본적으로 icon
식별자 사용:
icon(…)
기능
echo icon ( ' ri:php-fill ' ) // identified "ri:php-fill"
댓글에 @icon(…)
주석 추가
// @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"
*/
구성 파일은 php-icons
CLI 도구와 PHPIcons 클래스에 의해 로드되며 다음과 같아야 합니다:
<?php
declare (strict_types= 1 );
use PHPIcons Config PHPIconsConfig ;
return PHPIconsConfig:: configure ()
-> withPaths ([
__DIR__ . ' /src '
])
-> withDefaultPrefix ( '' )
-> withPlaceholder ( ' � ' );
withPaths([])
소스 파일의 경로 목록입니다. 정의한 아이콘을 찾기 위해 PHP 파일을 구문 분석하고 검색합니다.
withAPIHosts([])
SVG 아이콘 다운로드를 쿼리할 API 호스트를 Iconify합니다. 첫 번째 호스트를 쿼리하여 시작하고 나머지는 백업으로 사용됩니다.
Iconify의 공개 호스트에 대한 기본값: ["https://api.iconify.design","https://api.simplesvg.com", "https://api.unisvg.com"]
withLocalIconSets([])
사용자 정의 아이콘이 있는 경우 php-icons는 Iconify API를 호출하는 대신 파일 시스템에서 로컬로 해당 아이콘을 조회할 수 있습니다.
중요한
php-icons는 로컬 아이콘 세트에서 {name}.svg
파일을 찾습니다.
아이콘 세트 접두어를 키로, 해당 경로를 값으로 사용하여 연관 배열을 가져옵니다.
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('')
기본 아이콘은 아무것도 설정되지 않은 경우 사용할 접두사를 설정합니다.
기본 접두사로 설정된 material-symbols
사용하면 다음과 같습니다.
// this
echo icon ( ' bolt ' );
// same as this
echo icon ( ' material-symbols:bolt ' );
withDefaultIcon()
아이콘을 찾을 수 없을 때 사용되는 기본 아이콘입니다.
아이콘 키 {prefix}:{name}
을 가져옵니다. 접두사가 설정되지 않은 경우 기본 접두사가 대신 사용됩니다.
withDefaultIconPerSet([])
세트에서 아이콘을 찾을 수 없을 때 사용하는 기본 아이콘입니다.
키가 아이콘 세트 접두어이고 값이 기본 아이콘인 연관 배열을 사용합니다.
withPlaceholder('�')
아이콘을 찾을 수 없거나 알 수 없는 경우 표시할 문자열입니다.
기본값은 �
교체 문자)입니다.
withIdentifiers([])
소스 파일에서 아이콘 키를 식별하기 위해 일치시킬 함수 또는 메서드 이름입니다.
기본값은 ['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
이는 많은 오픈 소스 아이콘 세트를 유지 관리하는 Iconify 팀과 디자이너의 멋진 작업이 없었다면 불가능했을 것입니다.
천체 아이콘, 블레이드 아이콘, 렉터에서 영감을 받았습니다.
MIT 라이센스에 따라 공개된 코드입니다.
저작권 (c) 2024-현재, Yassine Doghri(@yassinedoghri).