اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

دالة الاستدعاء Callback Function


mennad sofiane

الردود الموصى بها

دالة الاستدعاء ( CALLBACK FUNCTION ) هي دالة تقوم بتعريفها بنفسك ثم تقوم بتمريرها كوسيط Argument لدالة أخرى. بحيث تقوم الدالة المستقبلة (الأساسية) باستدعاء الـ callback في أي وقت فتقوم دالة الاستدعاء بتغيير سلوك الدالة المستقبلة.

 وهناك بعض الدوال المدمجة في ( PHP ) تستخدم دوال الاستدعاء ومنها

دالة ( array_map )

هي دالة من دوال المصفوفات تستقبل دالة استدعاء ( CALLBACK FUNCTION ) بحيث يتم تطبيق الـ callback على كل عنصر من عناصر المصفوفة.

أنظر الكود التالي

 

5a85cc610e998_.JPG.305a3189cb504ba63b862f126ce49ef9.JPG

 في السطر رقم 3 أنشأنا دالة عادية وقمنا باستخدام name$ كوسيط

2- تقوم هذه الدالة بتغيير حالة الحرف الأول من الوسيط إلى حرف كبير Uppercase باستخدام الدالة ()ucfirst ثم ارفاقها  بـ “Hello” باستخدام الـتسلسل (STRING CONCATENATION ) ومن ثم استرجاع النتيجة ( RETURNING VALUESS ) .

3- في السطر رقم 7 قمنا بعمل مصفوفة ( PHP ARRAY ) من الأسماء names$

4- في السطر رقم 8 قمنا بتمرير الدالة nameTOGreeting كوسيط Argument للدالة ()array_map

5- طباعة النتيجة باستخدام ( PHP print_r )

فتكون النتيجة هي

 

 

Array ( [0] => Hello ’Mohamed! [1] => Hello Ahmed! [2] => Hello Ali! )

ولكن هل تتذكر أن السبب الأساسي لاستخدام الدوال هو انك تقوم بوضع مجموعة من الأسطر داخل دالة بغرض استخدامها مرات عديدة؟. بالطبع نعم لذا إن كات الدالة ستستخدم مرة واحدة لغرض محدد فقط فيفضل تمريرها كدالة مجهولة  ( PHP ANONYMOUS FUNCTION )

انظر الكود التالي

5a85ccd4f1c54_.JPG.8fd4443ac6dda50c908ad1d18818b681.JPG

callback functions
  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information