• php
  • 1871
  • 20-3-2008
  • من أكثر وأهم المفاهيم المستخدمة في php مايسمى بالمراجع أو الـ References .. ماهي المراجع (References) ؟ سأعطيك عزيزي القارئ تعريف بطريقتي هي عبارة عن قيمة لها أكثر من متغير يشير إليها .. طيب ياليت ياعبدالله عيد توضح بالأمثلة (ابشر.. )
    <?php
    $x = 10;
    ?>
    الآن إذا عدنا إلى التعريف فإن القيمة ستكون 10 والمتغير x .. الآن كيف نستخدم المرجع لنشير إلى قيمة x ؟ لعمل متغير يعمل كمرجع لقيمة (متغير اخر) فإننا نستخدم علامة & كالتالي :
    <?php
    $y =&$x;
    ?>

    الآن أصبح x و y يشيرون إلى نفس القيمة التي هي 10 .. الآن لو غيرنا في x أو في y فإن قيمة الأخر ستتغير تباعاً ... لاحظ مايلي ..
    <?php
    $y = 3000;
    echo $x;
    ?>
    ستكون النتيجة هي
    3000
    والسبب أن x و y يشيرون إلى نفس القيمة أي أن تغيير أي أحد منهما فإن الأخير سيتغير تباعاً لذا لو قمنا بعمل مراجع كالتالي :
    <?php
    $z=&$x;
    $r=&$x;
    $c=&$x;
    ?>
    فإن z,r,c أصبحت مراجع أيضاً أي إذا غيرنا في قيمة x أو y أو z أو r أو c فإن الجميع سيتغيرون لإنهم في الأصل يشيرون إلى نفس القيمة ومن هنا جاء التعريف الذي قلته في الأعلى أنها قيمة لها أكثر من متغير يشير إليها ... لاحظ الآن ما يلي :
    <?php
    $t = 400;
    $s = $t;
    ?>
    ماتراه في الكود الذي في الأعلى مختلف تماماً عن المراجع والسبب أن علمة المساواة تعني (copy) أي نسخ القيمة أي أن t هو 400 و s هو 400 ولكن إذا غيرنا في أحدهما فإن الأخر لن يتغي والسبب أن كل منهما متغير ولكن كل منهما له قيمته الخاصة به لذا لو غيرنا كما يلي :
    <?php
    $s = 700;
    echo $t;
    ?>
    فلن يتغير شئ وستكون النتيجة كالتالي ...
    400
    [color=FA0309]تحذير [/color]: المراجع تقنية ممتازة وجيدة ومفيدة ولكن في نفس الوقت فهي خطيرة جداً والسبب في ذلك أنه يمكن أن تحدث معها تغييرات لم تكن في الحسبان فعلى سبيل المثال ربما أنت تتعامل مع متغيرين مراجع في ملفين مختلفين وعندما يتغير أحدهما فإنه سيؤثر على المتغير الموجود في الملف الأخر وهذا ما قد يتسبب في نتائج غير مرغوب بها

    وأرجوا أن تكون الفكرة قد اتضحت ...
    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ... الكاتب عبدالله عيد
    كن أول من يقيم الموضوع
    12345