dbmsv4/app/Helpers/IconHelper.php
2026-01-26 13:39:12 +09:00

62 lines
1.4 KiB
PHP

<?php
namespace App\Helpers;
/**
* IconHelper
* 아이콘 및 소셜 미디어 아이콘의 HTML을 생성하는 헬퍼 클래스입니다.
*/
class IconHelper
{
/**
* 입력을 기반으로 아이콘 HTML을 반환합니다.
*
* @param string $key ICONS 상수의 키
* @param string $class 추가적인 CSS 클래스
* @return string
*/
public static function icon(string $key, string $class = ''): string
{
$icons = self::getIcons();
if (!isset($icons[$key])) {
$icons = self::getMessengerIcons();
}
if (!isset($icons[$key])) {
return '';
}
$icon = $icons[$key];
if ($class && str_contains($icon, 'class="')) {
return str_replace('class="', 'class="' . $class . ' ', $icon);
}
return $icon;
}
/**
* 메신저 아이콘 HTML을 반환합니다.
*
* @param string $key MESSENGER_ICONS 상수의 키
* @return string
*/
public static function messengerIcon(string $key): string
{
$icons = self::getMessengerIcons();
return $icons[$key] ?? '';
}
/**
* 아이콘 데이터를 관리합니다. (Constants.php에서 분리된 데이터)
*/
private static function getIcons(): array
{
return ICONS;
}
private static function getMessengerIcons(): array
{
return MESSENGER_ICONS;
}
}