السلام عليكم ورحمة الله وبركاته .........
هنا سوف نتحدث عن كيفية بناء كائن ومن ثم اضافة احداث لهذا الكائن ...
اذا اردنا بناء فئة ما ولنقل ان اسمها Person بحيث تحتوي على عضو اسمه SetAge وظيفته
استقبال عمر الشخص فان كان اكبر من 100 فان الفئة تقوم بقدح حدث اسمه WrongAge
وان كان اصغر فانها تقوم بقدح حدث اخر اسمه RightAge .
حسن لتنفيذ الكلام السابق سوف نقوم بالاتي :
1- سوف نقوم بتعريف عضو اسمه WrongAgeEvent لكي يستقبل الدالة المراد تنفيذها في حالة
الخطأ وسوف نجعل مجال الوصول اليه Public.
2- سوف نقوم بتعريف عضو اسمه RightAgeEvent لكي يستقبل الدالة المراد تنفيذها في حالة
الخطأ وسوف نجعل مجال الوصول اليه Public.
3- سوف نقوم بتعريف العضو المسمى SetAge ومن ثم سوف نختبر قيمة العمر الممرة له فان
كانت اكبر من 100 فان سوف نقوم بتنفيذ الدالة المخزونة في العضو WrongAgeEvent بواسطة
دالة PHP المسماة call_user_func وذلك بتمرير العضو WrongAgeEvent كمتغير لها
والعكس حيث اننا سوف نقوم بتمرير العضو RightAgeEvent كمتغير للدالة call_user_func
في حالة كانت قيمة العمر اصغر من 100 .
<?php
Class Person{
public $WrongAgeEvent;
public $RightAgeEvent;
Function SetAge($age){
if($age>100){
call_user_func($this->WrongAgeEvent);
}
else{
call_user_func($this->RightAgeEvent);
}
}
};
$p = new Person;
function WrongAge(){
echo "Wrong Age";
}
function RightAge(){
echo "Right Age";
}
$p->WrongAgeEvent = "WrongAge";
$p->RightAgeEvent = "RightAge";
$p->SetAge(10);
?>هذا مثال اخر يوضح مدة افصال الفئة عن العالم الخارجي :
<?php
Class Person{
public $WrongAgeEvent;
public $RightAgeEvent;
Function SetAge($age){
if($age>100){
call_user_func($this->WrongAgeEvent);
}
else{
call_user_func($this->RightAgeEvent);
}
}
};
$p = new Person;
function WrongAge(){
for($i=1; $i<7; $i++){
echo "<h$i>Wrong Age</h$i>";
}
}
function RightAge(){
for($i=1; $i<7; $i++){
echo "<h$i>Right Age</h$i>";
}
}
$p->WrongAgeEvent = "WrongAge";
$p->RightAgeEvent = "RightAge";
$p->SetAge(108);
?>ارجوا من الاعضاء ان يدلوا بارائهم حتى تعم الفائدة فربما كانت لدى عضوا اخر فكرة افضل من هذه
اخوكم Dr.Pain
