التعامل مع المراجع References

التعامل مع المراجع References

من أكثر وأهم المفاهيم المستخدمة في php مايسمى بالمراجع أو الـ References ..

ماهي المراجع (References) ؟

سأعطيك عزيزي القارئ تعريف بطريقتي

هي عبارة عن قيمة لها أكثر من متغير يشير إليها ..

Code:


<?php
$x = 10;
?>



الآن إذا عدنا إلى التعريف فإن القيمة ستكون 10 والمتغير x ..

الآن كيف نستخدم المرجع لنشير إلى قيمة x ؟

لعمل متغير يعمل كمرجع لقيمة (متغير اخر) فإننا نستخدم علامة & كالتالي :


Code:
<?php
$y =&$x;
?>



الآن أصبح x و y يشيرون إلى نفس القيمة التي هي 10 ..

الآن لو غيرنا في x أو في y فإن قيمة الأخر ستتغير تباعاً ... لاحظ مايلي ..


Code:
<?php
$y = 3000;
echo $x;
?>



ستكون النتيجة هي


3000


والسبب أن x و y يشيرون إلى نفس القيمة أي أن تغيير أي أحد منهما فإن الأخير سيتغير تباعاً لذا لو قمنا بعمل مراجع كالتالي :

Code:
<?php
$z=&$x;
$r=&$x;
$c=&$x;
?>



فإن z,r,c أصبحت مراجع أيضاً أي إذا غيرنا في قيمة x أو y أو z أو r أو c فإن الجميع سيتغيرون لإنهم في الأصل يشيرون إلى نفس القيمة ومن هنا جاء التعريف الذي قلته في الأعلى أنها قيمة لها أكثر من متغير يشير إليها ...

لاحظ الآن ما يلي :

Code:
<?php
$t = 400;
$s = $t;
?>



ماتراه في الكود الذي في الأعلى مختلف تماماً عن المراجع والسبب أن علمة المساواة تعني (copy) أي نسخ القيمة أي أن t هو 400 و s هو 400 ولكن إذا غيرنا في أحدهما فإن الأخر لن يتغي والسبب أن كل منهما متغير ولكن كل منهما له قيمته الخاصة به

لذا لو غيرنا كما يلي :

Code:
<?php
$s = 700;
echo $t;
?>



فلن يتغير شئ وستكون النتيجة كالتالي ...

400


تحذير : المراجع تقنية ممتازة وجيدة ومفيدة ولكن في نفس الوقت فهي خطيرة جداً والسبب في ذلك أنه يمكن أن تحدث معها تغييرات لم تكن في الحسبان فعلى سبيل المثال ربما أنت تتعامل مع متغيرين مراجع في ملفين مختلفين وعندما يتغير أحدهما فإنه سيؤثر على المتغير الموجود في الملف الأخر وهذا ما قد يتسبب في نتائج غير مرغوب بها



وأرجوا أن تكون الفكرة قد اتضحت ...


وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...




    

لا يمكنك اضافة تعليق

يجب عليك تسجيل الدخول لاضافة تعليقك




كلمات مفتاحية : التعامل مع المراجع References


أضف الدرس الى موقعك