الدوال في PHP : ستتعلم في هذا الدرس ما هية الدوال وسنأخذ مثال على كتابة دالة مخصصة
الدوال في PHP
الدوال أو الوظائف في php نوعين ، يوجد دوال مدمجة في PHP
والدالة هي كتلة من النص البرمجي مستقلة ذاتيًا تتضمن جملة من التعليمات البرمجية التي تؤدي مهمة محددة.
يحتوي PHP على مجموعة ضخمة من الجوال الداخلية أو المضمنة التي يمكنك التعامل بها مباشرةً داخل البرامج النصية لـ PHP لتنفيذ مهمة معينة ، مثل gettype () و print_r () و var_dump وما إلى ذلك.
لمزيد من الاطلاع على الدوال ومعرفة وظائفها يرجى مراجعة مصادر php.net للحصول على قائمة كاملة بالوظائف المدمجة والمفيدة في PHP.
دوال php المعرفة بواسطة المستخدم
بالإضافة إلى الدوال المضمنة ، يسمح لك PHP بتحديد دوالّك الخاصة.
إنها طريقة لإنشاء حزم تعليمات برمجية قابلة لإعادة الاستخدام والتي تؤدي مهامًا محددة ويمكن الاحتفاظ بها والمحافظة عليها بشكل منفصل من البرنامج الرئيسي.
فيما يلي بعض مزايا استخدام الدوال:
تعمل الدوال على تقليل تكرار التعليمة البرمجية داخل البرنامج – تتيح لك الدالة استخراج كتلة التعليمات البرمجية الشائعة الاستخدام في مكون واحد.
يمكنك تنفيذ نفس المهمة عن طريق استدعاء هذه الدالة أينما تريد داخل البرنامج النصي دون الحاجة إلى نسخ ولصق كتلة الرمز نفسها مرارًا وتكرارًا.
تجعل الدوال الشفرة البرمجية أكثر سهولة – نظرًا لأنه يمكن استخدام دالة تم إنشاؤها مرة واحدة عدة مرات ، فإن أي تغييرات يتم إجراؤها داخل إحدى الدوال يتم تنفيذها تلقائيًا في جميع الأماكن دون الحاجة إلى فتح وتعديل العديد من الملفات.
تسهل الدوال عملية التخلص من الأخطاء – عندما يتم تقسيم البرنامج إلى دوال، في حالة حدوث أي خطأ تعرف بالضبط ما الذي يسبب الخطأ ومكان العثور عليه. لذلك ، يصبح إصلاح الأخطاء أسهل بكثير.
يمكن إعادة استخدام الدوال في تطبيقات أخرى – نظرًا لأنه يتم فصل كل دالة عن باقي النص البرمجي ، فيصبح من السهل إعادة استخدام نفس الدالة في التطبيقات الأخرى فقط من خلال تضمين ملف php الذي يحتوي على تلك الدوال .
القسم التالي سيوضح لك مدى سهولة تحديد الدالة الخاصة بك في PHP.
إنشاء واستدعاء الدالة
يمكن وصف البنية الأساسية لإنشاء الدالة المخصصة كما يلي:
function functionName(){
// Code to be executed
}
يبدأ تعريف الدالة المعرفة من قبل المستخدم بكلمة function ، متبوعة باسم الدالة التي تريد إنشاءها متبوعة بأقواس مثل () وأخيراً ضع كود الدالة الخاصة بك بين الأقواس المتعرجة {}.
هذا مثال بسيط على دالة معرفة من قبل المستخدم ، والتي تعرض ما هو اليوم:
ملاحظة: يجب أن يبدأ اسم الدالة بحرف انجليزي أو سطر تحتي بعده حروف ، ولا يحتوي يبدأ برقم ، ويتبعه اختياريًا المزيد من الأحرف ، أو الأرقام ، أو أحرف الشرطة التحتية. أسماء الدالة غير حساسة لحالة الأحرف يمكن تسميتها بحروف صغيرةواستدعائها بحروف كبيرة
الباراميترز (أو المعلمات) داخل الدوال
يمكنك تحديد الباراميترز عند تعريف الدالة الخاصة بك لقبول قيم الإدخال في وقت التشغيل.
تعمل الباراميترز مثل كمتغيرات لحجز مكان للعناصر داخل الدالة؛ ويتم استبدالها في وقت التشغيل من خلال القيم (المعروفة باسم أرقومنت أو (وسيطة)) المقدمة من قبل المتصفح إلى الدالة في وقت التنفيذ.
مثال:
يمكنك تحديد العديد من الباراميترز (المعْلمات) كما تريد.
ومع ذلك ، بالنسبة لكل باراميتر تحدده ، يجب تمرير أرقومنت (وسيطة) مناظرة للمعْلمة ( الباراميتر ) إلى الدالة عندما يتم استدعاؤها.
مثال :
تأخذ الدالة getSum () في المثال التالي قيمتين صحيحتين كوسيطتين ، ببساطة تضيفهما معًا ثم تعرض النتيجة في المستعرض.
سيكون الناتج من الكود أعلاه:
إنشاء دالة مع باراميترات اختيارية وبالقيم الافتراضية
الدالة إذا كان فيها باراميتر واستدعيتها في نصك البرمجي ونسيت ترسل لها قيمة سوف يحصل خطأ في الكود البرمجي ويتعطل سكربتك
يمكنك إنشاء دوال باستخدام باراميترات اختيارية – قم فقط بإدخال اسم الباراميتر متبوعًا بعلامة يساوي (=) ، متبوعاً بقيمة افتراضية ، مثل هذه.
كما ترى ، الدالة لا تتضمن استدعاء الباراميتر الثالث إلى customFont () الوسيطة الثانية.
هذا يجعل محرك PHP يستخدم القيمة الافتراضية لمعلمة $size وهو 1.5.
إرجاع القيم من الدالة
يمكن أن تقوم الدالة بإرجاع قيمة إلى البرنامج النصي الذي يسمى الدالة باستخدام جملة الإرجاع return .
قد تكون القيمة من أي نوع ، بما في ذلك المصفوفات والكائنات.
لا يمكن لوظيفة إرجاع قيم متعددة. ومع ذلك ، يمكنك الحصول على نتائج مشابهة عن طريق إرجاع مصفوفة، كما هو موضح في المثال التالي.
تمرير القيم (الارقومنتات ) إلى الدالة حسب المرجع
في PHP هناك طريقتان يمكنك من خلالها تمرير القيم إلى الجالة: حسب القيمة والمرجعية.
بشكل افتراضي ، يتم تمرير قيم إلى الدالة حسب القيمة بحيث إذا تم تغيير قيمة الوسيطة داخل الدالة ، فإنها لا تتأثر خارج الدالة.
ومع ذلك ، يمكنك السماح للدالة بتعديل الوسيطات الممررة الخاصة بها ، عندما تمريرها كمرجع.
يتم تمرير الوسيطة بالرجوع عن طريق إضافة علامة العطف (&) إلى اسم الوسيطة في تعريف الدالة ، كما هو موضح في المثال التالي:
فهم نطاق المتغير
يمكنك الإعلان عن المتغيرات في أي مكان في hgبرنامج نصي لـ PHP.
ولكن ، يحدد موقع الإعلان مدى رؤية أحد المتغيرات داخل برنامج PHP ، أي حيث يمكن استخدام المتغير أو الوصول إليه.
تعرف إمكانية الوصول هذه باسم نطاق متغير.
افتراضيًا ، المتغيرات التي يتم الإعلان عنها داخل إحدى الدوال هي محلية ولا يمكن عرضها أو اللعب معها من خارج هذه الدالة، كما هو موضح في المثال التالي:
وبالمثل ، إذا حاولت الوصول إلى متغير خارجي أو استيراده داخل الدالة ، فسوف تحصل على خطأ متغير غير معرف ، كما هو موضح في المثال التالي:
كما ترى في الأمثلة أعلاه ، لا يمكن الوصول إلى المتغير المعلن داخل الدالة من الخارج ، وبالمثل ، لا يمكن الوصول إلى المتغير المعلن خارج الدالة داخل الدالة . هذا الفصل يقلل من فرص المتغيرات داخل دالة تتأثر بالمتغيرات في البرنامج الرئيسي.
تنبيه: من الممكن إعادة استخدام نفس الاسم لمتغير في دوال مختلفة ، حيث يتم التعرف على المتغيرات المحلية فقط من خلال الدالة التي يتم الإعلان عنها.
الكلمة الرئيسية العمومية (Global)
قد يكون هناك موقف عندما تحتاج إلى استيراد متغير من البرنامج الرئيسي إلى دالة، أو العكس بالعكس.
في مثل هذه الحالات ، يمكنك استخدام الكلمة الأساسية العمومية قبل المتغيرات داخل دالة.
تحول هذه الكلمة الرئيسية المتغير إلى متغير عام ، مما يجعله مرئيًا أو قابلًا للوصول إليه من داخل وخارج الدالة، كما هو موضح في المثال التالي:
سوف تتعلم المزيد عن الوصول والتحكم في المتغيرات الرئيسية في دروس الكلاسات وبرمجة الكائنات الموجهة في PHP.
إنشاء دالة تكرارية
الدالة التكرارية هي دالة تقوم باستدعاء نفسها مرارًا وتكرارًا حتى يتم استيفاء الشرط.
تُستخدم الدوال التكرارية في الغالب لحلّ الحسابات الرياضية المعقدة ، أو معالجة الهياكل المتداخلة بعمق ،
على سبيل المثال ، طباعة جميع عناصر مجموعة متداخلة بشكل عميق.
يوضح المثال التالي كيفية عمل دالة متكررة.
ملاحظة: كن حذرًا أثناء إنشاء الدوال التكرارية، لأنه إذا تمت كتابة الكود بشكل غير صحيح ، فقد ينتج عنه حلقة لا نهائية من الاتصال بالدالة تهلك موترد الخادم .