الصفحة الرئيسية

phpFunction دوال بي اتش بي

 دوال بي اتش بي PHP Functions


قوة PHP تأتي من الدوال Functions التي توفرها والتي تسهل عملك مع اي نوع من انواع البيانات حيث انها توفر أكثر من ١٠٠٠ دالة 

أنواع الدوال في PHP

  1.   لدينا 3 انواع مهمة من الدوال في PHP:-
  2. Built-in Functions وهي دوال من أساس اللغة وهي ماتوفرها لك PHP لتستخدمها مباشرة. 
  3. User Defined Functions وهي الدوال التي نقوم بإنشائها وإستخدامها في مشاريعنا البرمجية. 

  4. دوال المكتبات الإضافية مثل مكتبة GD للصور يتطلب تثبيتها وتفعيلها حتى نتمكن من إستخدامها.

ماهي User Defined Functions:-

وهي الدوال التي نقوم بتعريفها وإنشائها لنستخدمها عند كتابة أكواد PHP وهي مايهمنا هنا

وهي عبارة عن مجموعة من الأكواد البرمجية يتم تعريفها بصيغة محددة لإنشاء دالة function ويمكن إستخدام هذه الدالة بأكثر من مكان داخل ملفات المشروع البرمجي 

عند تعريف أي دالة جديدة داخل ملف فإنه لن يتم تنفيذ محتواها مباشرة عند فتح الملف بالمتصفح

سوف يتم تنفيذ محتوى الدالة مباشرة عند إستدعاء الدالة فقط 

صيغة كتابة الدالة في PHP 

كتابة الدوال وتعريفها سهل جدا كل ماعليك هو تعريف الدالة بإستخدام الكلمة function ثم كتابة إسم الدالة وبعدها مباشرة نستخدم علامتي الأقواس () متبوعة بالأقواس المعقوفة {}  وداخل الأقواس المعقوفة {} نضع الأوامر البرمجية التي نرغب بتنفيذها عند إستدعاء الدالة

مثال مبسط لصيغة كتابة دالة بسيطة Basic Function Syntax

function functionName() {
    code to be executed;}

ملاحظات عند تسمية الدوال

  • اسم الدالة يمكن ان يبدأ بحروف او علامة underscore فقط
  • اسم الدالة لايمكن ان يبدأ بأرقام أبدا
  • إذا كان لابد من وجود ارقام بمسمى الدالة يجب ان يكون اول الإسم حرف أو underscore ثم الرقم 
  • حاول قدر المستطاع ان يكون الإسم يعكس عمل الدالة
  • إبتعد عن المسميات الطويلة
  • مسميات الدوال غير حساسة عند الكتابة NOT case-sensitive 

دالة بسيطة

الآن سنقوم بتعريف أول دالة بسيطة عملها طباعة نص بالمتصفح عند زيارة الملف 

الكود الذي سنكتبه هو التالي

<?php
// define the functionfunction name() {
    echo "Hello ali!";}

في هذا المثال عرفنا اول دالة لنا وأسميناها name وتقوم بطباعة رسالة للمتصفح عند زيارة الملف عن طريق localhost ولكن لن يتم تنفيذ محتوى الدالة حتى نقوم بإستدعاء الدالة وهي جدا بسيطة كل ماعليك هو استخدام اسم الدالة متبوعة بالأقواس () وسوف يتم تنفيذ محتوى الدالة مباشرة عند زيارة الملف من المتصفح بإستخدام السيرفر المحلي 

تكملة للمثال السابق قم بتعديل الكود للتالي

<?php
// define the functionfunction name() {
    echo "Hello ali!";}
// call the function

عند عرض الملف بالمتصفح فإن الناتج كالتالي


مدخلات الدوال Function Arguments

يمكن تمرير المعلومات للدالة عن طريق المدخلات Arguments وهذه المدخلات تشبه المتغيرات ويمكن تعريف أكثر من مدخل للدالة كل ماعليك داخل علامتي الأقواس كتابة أسماء المدخلات مفصولين عن بعض بعلامة الفاصلة 

لو أخذنا المثال السابق وأضفنا مدخل firstName لتصبح الدالة أكثر مرونة وتطبع إسم نقوم بتحديده عند إستدعاء الدالة سيكون شكل الكود كالتالي

<?php
// define the function with argumentfunction name($firstName) {
    echo "Hello $firstName! ";}
// call the function and insert argument
name('ali'); 
name('abdullah'); 
name('moath'); 

المميز هنا نستطيع إستخدام الدالة أكثر من مرة وجعلها مرنة لطباعة نصوص مختلفة بناء على المدخل الذي نمرره للدالة عند إستدعائها 

عند عرض الملف بالمتصفح فإن الناتج كالتالي



وممكن أيضا تعريف أكثر من مدخل فلو أخذنا الكود السابق وأضفنا مدخل جديد بإسم age لطباعة عمر الشخص أيضا سيكون شكل الكود كالتالي

<?php
// define the function with 2 argumentfunction name($firstName, $age) {
    echo "Hello $firstName You are $age Year Old ";}
// call the function and insert 2 argument
name('ali', 28); 
name('abdullah', 25); 
name('moath', 24); 

عند عرض الملف بالمتصفح فإن الناتج كالتالي



القيم الإفتراضية للمدخلات Default Argument Value

أحيانا عند تعريف الدالة وإضافة مدخلات فإنك ترغب بتعيين قيم إفتراضية لبعض المتغيرات ليتم إستخدام هذه القيم في حالة تم إستدعاء الدالة ولم يتم تمرير قيمة للمدخل لتكون الدالة أكثر مرورنة ولتلافي

حدوث الأخطاء عند إستدعاء دالة لتنفيذ أوامرها فلو أخذنا المثال السابق وعند إستدعاء الدالة لم نقم بإدخال قيمة للمدخل age لأول إستدعاء ليكون شكل الكود كالتالي 

<?php
// define the function with 2 argumentfunction name($firstName, $age) {
    echo "Hello $firstName You are $age Year Old ";}
// call the function and insert 2 argument
name('ali'); 
name('abdullah', 25); 
name('moath', 24);

عند عرض الملف بالمتصفح فإن الناتج كالتالي



ستلاحظ وجود خطأ يخبرك بأنك لم تقم بإدخال قيمة للمدخل الثاني عند إستدعاء الدالة name 

لحل هذه المشكلة نقوم بتعيين قيمة إفتراضية للمدخل age عند تعريف الدالة ليتم إستخدام هذه القيمة إفتراضيا عندما نستدعي الدالة ولاندخل قيمة للمدخل age سنقوم بتعديل المثال السابق ليصبح شكل الكود كالتالي

<?php
// define the function with 2 argument and assign default value for 2nd argumentfunction name($firstName, $age = 28) {
    echo "Hello $firstName You are $age Year Old ";}
// call the function and insert 2 argument
name('ali'); 
name('abdullah', 25); 
name('moath', 24); 

عند عرض الملف بالمتصفح فإن الناتج كالتالي



إرجاع القيم Returning values

أحيانا عند العمل مع الدوال فأنت لاترغب ان تقوم الدالة بطباعة نص وإنما ان تعيد الدالة قيمة محددة يمكن ذلك بإستخدام return داخل الدالة بكل سهولة سنقوم بعمل دالة جديد تقوم بعملية حسابية على مدخلين ثم إرجاع قيمة الناتج بإستخدام return ثم بعد ذلك سنطبع الناتج للمتصفح

<?php
// define the function with 2 argumentfunction sum($x, $y) {
    $z = $x + $y;
    return $z;}
// we print the results after we call the function and insert the argumentsecho "5 + 10 = " . sum(5, 10) . "<br>";echo "7 + 13 = " . sum(7, 13) . "<br>";echo "2 + 4 = " . sum(2, 4);

عند عرض الملف بالمتصفح فإن الناتج كالتالي


author-img

مدونة الحسام لتعليم لغات البرمجة

مدونة الحسام لتعليم لغات البرمجة، مدونة الحسام، دروس لغات البرمجة.
تعليقات
ليست هناك تعليقات
إرسال تعليق
    الاسمبريد إلكترونيرسالة

    هنا

    تصميم مواقع الويب

    Css (1) Html (5) JavaScript (3) لغة php (10)

    لغات البرمجة الكائنية

    المواقع البرمجية الشائعه