اذهب الي المحتوي
أوفيسنا

الدوال المجهولة Anonymous Functions


mennad sofiane

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

anonymous-functions.png

نعرف جيداً ما هي الدوال ( PHP FUNCTIONS ) وماهي الصيغة التي يتم تعريف الدوال بها وكيفية استخدامها, لكن لكل قاعدة شواذ. لذلك هناك نوع من الدوال يختلف قليلاً عن الدوال المعروفة وهو الدوال المجهولة ( PHP ANONYMOUS FUNCTIONSS ).

كما نعلم أنه يتم تعريف الدالة العادية كالتالي

 

حيث يتم تعريف الدالة باسم (myFunctionName) ومن ثم يمكن استدعاء الدالة بكتابة اسمها هكذا

5a8ff7a051299_.JPG.7feef770ef371f138cbd49e8b80ca999.JPG

5a8ff83f0c629_.JPG.c054293c6c51735968b85b5a156005d0.JPG

وتشبه الدالة المجهولة الدالة العادية من حيث أنها تحتوي على كود قابل للتنفيذ عند استدعاء الدالة ويمكنها استرجاع القيم ( PHP RETURNING VALUES ) وتقبل أيضاً الوسائط. راجع الدوال ( PHP FUNCTIONSS ).

لكن يتضح الفارق من اسمها فهي دالة مجهولة أي ليس لها اسم . لاحظ الكود التالي
5a8ff748769c2_.JPG.7cae07e686eb4c5c198c110050a01955.JPG5a8ff7e8c5ded_.JPG.c0c2cda8440b1745dd673736df0960b5.JPG

لابد أنك لاحظت أن هناك اختلافين جذريان بين الدالة المجهولة والعادية وهما :

1- لا يوجد اسم للدالة بين الكلمة function والأقواس Parenthesis

2- هناك فاصلة منقوطة Semicolon (;) بعد تعريف الدالة . سطر رقم 4

وذلك لأن الدالة المجهولة في حد ذاتها هي تعبير Expression مثلها مثل المتغيرات والمصفوفات. والتعبيرات هي كل ما له قيمة.

لكن إذا كانت الدالة المجهولة ليس لها اسم كيف يمكن استدعاءها!!!!

كما قلنا أن الدالة المجهولة هي تعبير أي شيئ له قيمة لذلك يمكن :

  • تخصيصها لمتغير ( PHP VARIABLE ) ثم استدعاءها بمجرد كتابة اسم المتغير
  • يمكن اضافة أي عدد منها داخل مصفوفة ( PHP ARRAY )
  • يمكن تمريرها لدالة أخري لحين استخدامها لاحقاً. تسمي في هذه الحالة دالة استدعاء ( PHP CALLBACK FUNCTION )

تخصيص الدالة مجهولة Anonymous لمتغير Variable

5a8ff89a9c1f8_.JPG.e79d1014682dd0b98b07bf5bbb3c53d2.JPG

 

 
  • 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.

×
×
  • اضف...

Important Information