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

ما فائدة إضافة علامة & إلى بداية اسم التابع method موجود في صنف class في PHP؟

Emad Saif

السؤال

وجدت في بعض المكتبات كود بسيط يكون فيه اسم التابع يبدأ بعلامة & :

class MyClass {
	// ...
    public function &method_name(...) {
        //          ^^
    }
	// ...
}

ما فائدة إضافة علامة & هنا وفيما يتم إستخدامها؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...