بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
سنتعرف فى هذا الموضوع إن شاء الله على ال references فى ال php
فى البداية لنتعرف ماذا يحدث عند تنفيذ هذا السطر من الكود
ما سيحدث هو نسخ قيمة المتغير secVar واسنادها الى firstVar لاحظ هنا كلمة نسخ القيمة هذا ما يعنى ان سيكون لدينا نسختين من نفس القيمة كل منها مسند الى متغير منفصلكود PHP:$firstVar = $secVar;
ولكن هذا امر معروف اى انى لم اتى بجديد الى الانولكن هذه مقدمة لما اود طرحه ولناخذ هذا السطر ونجرى عليه تعديل بسيط ليكون
لاحظ علامة & بعد علامة المساواة = , ماذا يعنى ذلك ؟ هذا يعنى اعطاء المتغير firstVar نفس قيمة المتغير secVar لاحظ نفس القيمة وليس نسخة من القيمة وما الفرق بين الحالتين؟ الفرق هو انك لوقمت بتعديل قيمة المتغير firstVar بعد ذلك ستتغير ايضا قيمة secVar تلقائيا وذلك لان المتغيرين يشيران لنفس القيمةكود PHP:$firstVar =& $secVar;
اذا نلخص من ذلك ان ال references هى جعل رابطة بين متغيرين اواكثر حيث يشير جميعهم الى نفس القيمة واذا تغير قيمة احدهم تغير بالتالى قيمة البقية.
والان ناتى لاستخدام ال references , تظهر اهمية ال reference فى التعامل مع الكائنات حيث فى اغلب الاحيان تحتاج لانشاء كائن جديد يحمل نفس قيمة الكائن الاصلى وليس نسخة منه وايضا تحتاج عند تمرير كائن الى وظيفة ان تمرره بنفسه وليس نسخة منه.
وايضا هناك استخدام هام وهو تمرير متغير لوظيفة ك reference وبذلك اذا تم تغيير قيمة هذا المتغير داخل الوظيفة فسيتغير قيمته الاصلية, لنأخذ مثال على هذا
كما تلاحظ قمت بتعريف معامل الوظيفة param على انه reference , وبذلك عندما ارسلت للوظيفة المتغير var1 وقامت بتغير قيمته بداخلها اثر هذا التغيير على قيمته الاصلية.كود PHP:<?php
function alterVar(&$param){
$param = 'changed';
}
$var1 = 'test';
echo $var1; // will print test
alterVar($var1);
echo $var1; // will print changed
?>
هذه نبذة بسيطة عن ال references ارجو ان اكون وفقت فى توضيحها لانى اشعر انى لا اجيد الشرح![]()


ولكن هذه مقدمة لما اود طرحه ولناخذ هذا السطر ونجرى عليه تعديل بسيط ليكون
رد مع اقتباس
