ใน PHP 8 เราใช้คลาส คุณสมบัติ และค่าคงที่คลาส เมธอด ฟังก์ชัน พารามิเตอร์เพื่อเข้าถึงแอตทริบิวต์
ใน PHP 8 Reflection API ส่ง getAttribute() เมธอดบนทุกออบเจ็กต์ Reflection ที่ตรงกัน
getAttribute() วิธีการส่งคืนอาร์เรย์ของ ReflectionAttribute ภาพประกอบที่สามารถขอชื่อแอตทริบิวต์ อาร์กิวเมนต์ และสร้างอินสแตนซ์ของแอตทริบิวต์ที่มีนัยได้
ตัวอย่าง – การอ่านแอตทริบิวต์ด้วย Reflection API ใน PHP 8
<?php
#[Reading]
#[Property(type: 'function', name: 'Student')]
function Student()
{
return "Student";
}
function getAttributes(Reflector $reflection)
{
$attributes = $reflection->getAttributes();
$finalresult = [];
foreach ($attributes as $attribute)
{
$finalresult[$attribute->getName() ] = $attribute->getArguments();
}
return $finalresult;
}
$reflection = new ReflectionFunction("Student");
print_r(getAttributes($reflection));
?> ผลลัพธ์
Array ( [Reading] => Array ( ) [Property] => Array ( [type] => function [name] => Student ) )