Theme
Primary Color

تحديد أنواع معاملات الدالة والنتيجة

تحديد الأنواع بيخلي توقعات الدالة أوضح وإستخدام strict_types بيمنع بعض التحويلات الضمنية عند الإستدعاء

دالة بمعاملات ونتيجة محددة

المثال بيقبل أعداد صحيحة وبيرجع عدد صحيح

<?php

declare(strict_types=1);

function total(int $first, int $second): int {
    return $first + $second;
}
echo total(10, 20);

النتيجة

30

رفض النص بدل الرقم

في الوضع الصارم النص الرقمي مش بيتقبل بدل int

<?php

declare(strict_types=1);

function double(int $number): int {
    return $number * 2;
}
try {
    double("5");
} catch (TypeError $error) {
    echo "Invalid Type";
}

النتيجة

Invalid Type
ملحوظة

ال declare لازم تكون أول تعليمة في الملف والوضع الصارم للتحويلات بيحدده ملف الإستدعاء

php شرح