تحديد أنواع معاملات الدالة والنتيجة
تحديد الأنواع بيخلي توقعات الدالة أوضح وإستخدام 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 لازم تكون أول تعليمة في الملف والوضع الصارم للتحويلات بيحدده ملف الإستدعاء