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

Implementing Interfaces in Anonymous Classes تطبيق الواجهات داخل الأصناف المجهولة للاختبار السريع

أنشئ كائنات فورية عبر new class، وخزّن الكائنات بأمان عبر __serialize و__unserialize، وافحص الأصناف والدوال في وقت التشغيل.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

يمكن للصنف المجهول أن يرث من صنف أب عبر extends ويطبق واجهة أو أكثر عبر implements، مما يجعله مثالياً لبناء بدائل الاختبار السريعة (Mocks / Fakes).

  • اكتب new class implements MailerInterface { ... } لتلبية متطلبات أي واجهة برمجية بشكل فوري.
  • بما أن الكائن المجهول يطبق الواجهة، فإن الفحص $anon instanceof MailerInterface يُرجع true.
  • يتيح هذا النمط اختبار الخدمات في الذاكرة دون إرسال رسائل حقيقية أو الاتصال ببوابات دفع خارجية.

يطبق الصنف المجهول الواجهة AuditLogger ويحفظ الأحداث المسجلة في مصفوفة داخل الذاكرة للتحقق الفوري منها.

PHP
<?php
interface AuditLogger { public function record(string $event): void; }

$memoryLog = new class implements AuditLogger {
    public array $entries = [];
    public function record(string $event): void { $this->entries[] = $event; }
};
$memoryLog->record("user.login");
$memoryLog->record("order.paid");
echo implode(" -> ", $memoryLog->entries) . "\n";