انتقل إلى محتوى الدرس

Preserving State with static حفظ حالة المتغير بالكلمة static

تعلّم نطاق المتغيرات المحلي والعام والمتغيرات الساكنة في PHP بأسلوب PHP 8 الحديث مع أمثلة عملية وتطبيقات تفاعلية.
1 صفوف تعليمية
PHP
2 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تُمسح المتغيرات المحلية عادةً فور انتهاء الدالة؛ لكن إذا عرّفت متغيراً محلياً مسبوقاً بالكلمة المحجوزة static (مثل static $step = 0;)، فإن محرك PHP يهيئ قيمته الابتدائية مرة واحدة فقط عند أول استدعاء، ويحتفظ بقيمته المحدثة في الذاكرة عبر جميع الاستدعاءات التالية لنفس الدالة خلال الطلب الحالي:

مخطط تدفق التنفيذ العملي لقسم حفظ حالة المتغير بالكلمة static في لغة PHP
PHP
<?php
declare(strict_types=1);

function generateRequestSeq(): string
{
    static $seq = 100;
    $seq++;
    return "REQ-" . $seq;
}

echo generateRequestSeq() . "\n";
echo generateRequestSeq() . "\n";
echo generateRequestSeq();