السلام عليكم ممكن شرح بالعربي للـ
Reflection in PHP
وشكرااااا
السلام عليكم ممكن شرح بالعربي للـ
Reflection in PHP
وشكرااااا
السلام عليكم -> أخى العزيز
Reflection هى عبارة عن كلاس مدمجة فى PHP تستخدم مع Classes و Interfaces,
فكما تعرف أن كل class أو interface فى PHP تحتوى على:
ولكن ما فائدة الـ Reflection ؟ لكى تعرف فائدتها أفهم معنى الكلمة (Reflection = انعكاس)
أعطيك مثال بسيط:
إذا نظرت فى المرآة ماذا ستشاهد ؟ أكيد طبعا ستشاهد نفسك أى حصل إنعكاس على نفسك فشاهدت تفاصيلك (وجهك, عينك, زراعك, إلى أخرة).
هكذا نفس الفكرة مع Reflection هى عبارة مرآة تعكس تفاصيل الـ Classes أو الـ interfaces المدمجة فى الـ PHP أو حتى التى تنشأها بنفسك.
تكلمنا كثيرا, لكن لازالت الرؤية غير واضحة, إذن سنقوم بإشاء مثال بسيط يوضح الفائدة.
لدينا Class أسمة information يستخدم فقط لتخزين بيانات(الاسم, العمر, الدولة) بأستخدام method, ويمكن أستدعاء هذة البيانات بـ method أخر.
class information {
private $name;
private $age;
private $country;
public function __construct($name, $age, $country) {
$this -> name = $name;
$this -> age = $age;
$this -> country = $country;
}
public function getInfo() {
echo "Name: ".$this -> name."<br/>Age: ".$this -> age."<br/>Country: ".$this -> country;
}
public function setInfo($name, $age, $country) {
$this -> name = $name;
$this -> age = $age;
$this -> country = $country;
}
}الان نريد أستخدام Reflection لكى نعلم بعض التفاصيل عن هذة الكلاس الذى قمنا بإنشائها.
بعض الامثلة التى سنقوم بعملها هى:
$info = new ReflectionClass('information');
$methods = $info -> getmethods();
echo "<pre>";
print_r($methods);
echo "</pre>";النتيجة: إظهار كافة الدوال التى تحتويها الكلاس.
$info = new ReflectionClass('information');
$Properties = $info -> getProperties();
echo "<pre>";
print_r($Properties);
echo "</pre>";النتيجة: إظهار كافة الخصائص التى تحتويها الكلاس.
$info = new ReflectionClass('information');
$method = $info -> getMethod('setInfo');
$parameters = $method -> getParameters();
echo "<pre>";
print_r($parameters);
echo "</pre>";النتيجة: إظهار الوسائط الخاصة بدالة محددة.
ليس هذا فقط بل يوجد الكثيير من الـ Method التى تمتلكها Reflection والتى يمكنك أستخدمها لإستكشاف تفاصيل أى class أو interface .
يمكنك أكتشافنها من خلال هذا الرابط
هذة الموضوع مجرد نبذة قليلة عن Reflection, ولكن يمكن زيادة المعلومات بإجتهادك الشخصى.
بالتوفيق ..........
تم تعديل هذه المشاركة بواسطة مستر برمجة في 6 فبراير 2014 في 02:47
||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||

||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||
الف شكر لك يا أخي العزيز بارك الله فيك ,هذا ما كنت احتاجه مقدمة لكي استطيع ان اجتهد شخصياا