سلام عليكم ,
مهتم جداً اني اتقن الـtype hinting لما فيها من اهمية واضحة
بحثت وقرأت اكثر من مثال ولكن الفكرة غير واضحة حتي الان , لو ممكن حد يشرحلي او يبعتلي شرح لهذا المفهوم اكون شاكر له , شكراً والسلام عليكم
ببساطة شديدة جداً ,
اذا كان لديك class باسم Users
ولديك دالة باسم GetUserName
وتريد ان تكون الدالة GetUserName تستقبل باراميتر يعتبر كائن(object) من ال class Users , فيمكنك ببساطة فعل التالي :
class Users
{
/**
*
* any code here ....
*
*/
}
function getUserName(Users $users)
{
return $users->name;
}
$user = new Users;
echo getUserName($user);
لو حاولت ارسال اي متغير للدالة getUserName ليس كائن من Users Class سيظهر لك الخطأ التالي :
Fatal error: Uncaught TypeError: Argument 1 passed to getUserName() must be an instance of Users
وهي طريقة جيدة وفعالة لتخصيص الدوال وتقليل الاكواد , فـبالعادة يتم التحقق من نوع المتغير في بداية الدالة , حتى الاصدار 5.x لا اذكر الرقم التحديد تم دعم هذه الخاصية ولكنها محدودة نوعاً ما .
يمكنك البحث عن الامر
بعض الروابط ذات صله :
موضوع يشرح باختصار :
التوثيق الرسمي للغة :
التعليقات