اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

تستخدم للدلالة على أن القيمة التي يعيدها التابع إذا كانت ساكنة static، يمكن أن تطلب كمرجع reference وليس كقيمة value، وذلك عبر إضافة "&" قبل اسم الدالة أيضًا عند الاستدعاء، مثال للتوضيح:

لتكن لدينا الدالة التالية:

function &getVariable()
{
    static $var = 2;
    return $var;
}

يمكن أن تُستدعى بشكل طبيعي ولا نلاحظ أي تصرف مختلف:

$var = getVariable();
echo $var; // 2

$var = 5;

echo getVariable(); // 2

وفي حال استدعينا الدالة بطلب القيم كمرجع، ثم عدلنا قيمة المتغير في الخارج، سنلاحظ تغير القيمة الثابتة عند الاستدعاءات اللاحقة:

$var = &getVariable();
echo $var; // 2

$var = 5;

echo getVariable(); // 5

حاول تجنب هذه الطريقة قدر الإمكان فهي تُصعب من عملية الصيانة وإصلاح الأخطاء خصوصًا في التطبيقات المتوسطة والكبيرة، إلا إذا كنت تطور أداة أو إطار عمل خاص وهذه الميزة قد تفيدك.
 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...