شرح type hinting في php (طلب)

paapy1994

سلام عليكم ,

مهتم جداً اني اتقن الـ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 لا اذكر الرقم التحديد تم دعم هذه الخاصية ولكنها محدودة نوعاً ما .

يمكنك البحث عن الامر

بعض الروابط ذات صله :

موضوع يشرح باختصار :

التوثيق الرسمي للغة :