ไลบรารี PHP ที่สะดวกสำหรับเรนเดอร์ไอคอน svg
เข้าถึงไอคอนมากกว่า 200,000 ไอคอนจากชุดไอคอนโอเพ่นซอร์สมากกว่า 150 ชุดโดยตรงจากไฟล์ php ของคุณ!
ขอบคุณ Iconify ❤️
composer require yassinedoghri/php-icons
รันคำสั่งต่อไปนี้เพื่อเริ่มต้นไฟล์คอนฟิกูเรชัน:
vendor/bin/php-icons init
สิ่งนี้จะแจ้งให้คุณสร้างไฟล์กำหนดค่า php-icons.php
ในรูทของโปรเจ็กต์ของคุณ ดูการอ้างอิงการกำหนดค่าสำหรับข้อมูลเพิ่มเติม
icon(string $iconKey, array $attributes)
ใช้ฟังก์ชัน global icon(…)
ในไฟล์มุมมองของคุณโดยใช้ปุ่มไอคอน ( {prefix}:{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
สำคัญ
เมื่อกำหนดไอคอนครั้งแรก ตัวยึดตำแหน่ง ( �
ค่าเริ่มต้น) จะปรากฏขึ้น
ตรวจสอบให้แน่ใจว่าได้รันคำสั่ง scan
เพื่อโหลด SVG
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([])
Iconify โฮสต์ API เพื่อค้นหาการดาวน์โหลดไอคอน svg เริ่มต้นด้วยการสอบถามโฮสต์แรก ส่วนที่เหลือจะถูกใช้เป็นข้อมูลสำรอง
ค่าเริ่มต้นเป็นโฮสต์สาธารณะของ 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)