PHP بيان ثابت
سحر البيان الثابت لـ PHP هو أنه يسمح للوظيفة بـ "تذكر" قيمة المتغير المحلي في المرة التالية التي تسمى فيها الوظيفة.

في هذا البرنامج التعليمي ، ستتعلم كيفية استخدام عبارة PHP الساكنة لإعطاء وظيفة PHP "ذاكرة". لا تملك وظيفة PHP الأساسية القدرة على تذكر قيمة المتغير المحلي الذي تم إنشاؤه أو تغييره داخل الوظيفة. بمجرد الانتهاء من الوظيفة ، تختفي كل معرفة بقيمة متغير الوظيفة. للتغلب على هذه المشكلة ، يمكننا استخدام العبارة الثابتة لـ PHP لإخبار الوظيفة أن تتذكر قيمة المتغير المحلي من استدعاء دالة إلى المكالمة التالية. دعنا نلقي نظرة على الكود الأساسي.

الدالة count_calls ()
{
static $ no_calls = 0؛
$ no_calls ++؛
echo "تم استدعاء هذه الوظيفة $ no_calls times."؛
}


اسم الدالة ()
الدالة count_calls ()
لا يوجد شيء جديد هنا. كما هو الحال في البرامج التعليمية السابقة ، يحدد اسم الوظيفة هذه الوظيفة ويتم وضع إرشادات الوظيفة بين {و} التاليين.

ثابت $ متغير = القيمة ؛
static $ no_calls = 0؛
هذا هو العبارة الثابتة التي يتم استخدامها للاحتفاظ بإجمالي (وتذكر) عدد المرات التي تم استدعاء هذه الوظيفة. في المرة الأولى التي يتم فيها استدعاء الدالة ، ستقوم العبارة الساكنة بتهيئة متغير $ no_calls إلى القيمة الأولية وهي 0. ثم مع استمرار الوظيفة ، تزداد قيمة المتغير بمقدار 1. في المرة الثانية والأوقات اللاحقة التي تسمى فيها الوظيفة ، يتم تذكر القيمة المتزايدة للمتغير من آخر مرة. قد لا يبدو هذا سحريًا حتى تدرك أنه بدون العبارة الثابتة ، ستكون قيمة المتغير صفرًا في كل مرة يتم فيها استدعاء هذه الوظيفة.

$ متغير ++؛
$ no_calls ++؛
يزيد هذا التعبير من القيمة الحالية للمتغير $ no_calls بمقدار 1. سحر العبارة الساكنة هو أن الوظيفة يمكنها الآن "تذكر" القيمة المتزايدة للمتغير $ no_calls في المرة التالية التي تسمى فيها الوظيفة.

بيان صدى
echo "تم استدعاء هذه الوظيفة $ no_calls times."؛
ستقوم عبارة الصدى هذه بطباعة النص والقيمة الجديدة (المتزايدة) لمتغير $ no_calls إلى متصفح الويب.

هذا هو كل ما لدينا وظيفة. في المرة التالية التي يتم فيها استدعاء هذه الوظيفة ، يتم تذكر قيمة متغير $ no_calls من آخر عملية تنفيذ للوظيفة ثم زيادتها مرة أخرى.





تعليمات الفيديو: كاميو 4 - الجزء الأول: قبل الشراء وفروقات بين المقصات الإلكترونية (أبريل 2024).