• php
  • 4085
  • 20-3-2008

  • السلام عليكم الداله هي ما يعرف بـ Function وطريقة استخدامها سهله ولها الكثير من الاستخدامات وسنطرح بعض الامثله حتى نتعرف على طريقة استخدام الدوال بالشكل الصحيح .
    مثال بسيط :
    <?
    Function tlbat()
    {
    echo "أهلا وسهلا بكم بموقع طلبات";
    }
    ?>
    والآن انت صنعت داله خاصه بك ولكن كيف نعرضها !!
    ببساطه طريقة عرض الدوال هي كتابة اسم الداله متبوعه بالقوسين ثم علامة الاغلاق كالمثال التالي :
    <?
    tlbat();
    ?>
    والآن ستلاحظ انه تم طباعة ما بداخل الداله وهو
    أهلا وسهلا بكم بموقع طلبات ================
    أكيد راح تقول هذي بسيطه وسهالات ولكن هل تعلم ان الداله لا تتعرف على المتغيرات التي خارج اقواس الداله نفسها
    فعلا ان الداله لا تتعرف على المتغيرات التي خارج الاقواس المعكوفه إلا ان تقوم بتعريف متغير وتضمينه بالداله ... !!! إليك الطريقه وهي بسيطه ايضا :
    $name = "ابوليالي";
    Function myname($name)
    {
    echo "السلام عليكم يا $name";
    }
    لاحظ السطر الاول وهو المتغير $name
    ثم السطر الثاني وهو بداية الداله واسمها ثم بين الاقواس ستجد نفس المتغير $name وضعناه هنا حتى تتعرف عليه الداله وتعتبره داخلا بعمل الداله نفسها .
    ثم قمنا بطباعة عباره من ضمنها المتغير $name . والآن طريقة العرض وهي كالتالي :
    <?
    myname($name);
    ?>
    هل لاحظ الفرق بين المثال الأول والمثال الثاني !!
    في هذا المثال قمنا بعرض الداله ثم ادرجنا المتغير بين الاقواس حتى يتم عرضه واذا لايوجد متغير بين الاقواس سيظهر لك خطأ . ============ وهذه بعض الشروحات من مواقع مختلفه لطريقة كتابة الدوال اكثر احترافيه اعادة قيمة من الدالة
    لو افترضنا ان لدينا دالة باسم test ووضيفتها جمع رقمين وتخزينها في متغير $c
    <?
    function test($a,$b)
    {
    $c = $a+$b;
    }
    ?>
    اذا استدعينا الدالة بهذا الشكل
    <?
    echo test(2,3);
    ?>
    الشيء المتوقع من هذه الدالة انها تعيد الرقم 5 كناتج للجمع بين 2 و 3 ولكن في حقيقة الأمر فانها لا تعيد شيئا
    وحتى تعيد الدالة قيمة يجب كتابة العبارة return ثم يتبعة المتغير المخزنه فيه القيمة العائدة من الدالة
    والشكل الصحيح للدالة
    <?
    function test($a,$b)
    {
    $c = $a+$b;
    return $c;
    }
    ?>

    والان جرب الدالة ستجدها تعيد الرقم 5 ========= [color=B09664]المدى [/color] المتغيرات داخل الدالة تسمى متغيرات محلية بمعني ان المتغير معرف فقط داخل الدالة لكن لا يمكن استخدامه خارجها وعند استخدامهفلن يعمل شيء
    مثال
    لدينا الدالة fun تحوي متغير $var وقمنا بتخزين جمله ما فيه
    عند استدعاء الدالة سوف تطبع هذه الجمله لكن عند طباعة المتغير $var فانه لن يطبع اي شي
    والسبب كما قلنا انه متغير محلي
    وهذا المثال جربه بنفسك
    <?
    function fun()
    {
    $var = "شبكة البدر";
    return $var;
    } echo fun();
    echo"<br>";
    echo $var;
    ?>
    ولجعل المتغير عمومي بمعنى انه يمكن استخدامه خارج الدالة نضيف الكلمة global قبل المتغير
    وبالتالي يصبح الكود السابق
    <?
    function fun()
    {
    global $var;
    $var = "شبكة البدر";
    return $var;
    } echo fun();
    echo"<br>";
    echo $var;
    ?>
    الان قم بتجربة الكود ستلاحظ انه قام بطباعة قيمة المتغير $var بالرغم انه موجود داخل الدالة
    ملاحظة
    نستطيع ان نلغي صفة العمومية من المتغير باستخدام unset
    <?
    unset($var);
    ?>
    =========== العودة من الدالات
    احيانا قد نرغب بالعودة دون تكملة الدالة بناءا على شرط ما ولذلك فاننا نستخدم الكلمة return
    انظر معي لهذا المثال
    في هذا المثال انشأنا دالة باسم fun ومررنا لها متغيرا $var وجعلنا هناك شرطا وهو اذا كان هذا المتغير يساوي 5 ترجع الدالة قيمة صحيحة اما غير ذلك فان الدالة ترجع قيمة خاطئة
    <?
    function fun($var)
    {
    if($var == 5)
    {
    return true;
    }else
    {
    return false;
    }
    ?>
    عند استدعاء نمرر رقم بناء على شرط
    <?
    if(fun(10))
    {
    echo "هذا الرقم هو خمسه";
    }
    else{
    echo"هذا الرقم لا يساوي خمسة";
    }
    ?>
    راح تطبع الدالة :"هذا الرقم لا يساوي خمسة "
    لان الرقم الممرر لها هو 10 =============== امثلة لإنشاء الدالات الدالة الأولى وضيفتها انشاء جدول وتاخذ بارمترين الأول عدد الصفوف والاخر عدد الأعمدة
    <?
    function table ($rows,$col)
    {
    echo"<table border='1' cellpadding='0' cellspacing='0' width='100%'>";
    for($i=1;$i<=$rows;$i++)
    {
    echo"<tr>";
    for($m=1;$m<=$col;$m++)
    {
    echo"<td width>????</td>";
    }
    echo"</tr>";
    }
    echo"</table>";
    }
    ?>
    بامكانك تمرر لها العدد الذي تريده من الصفوف والاعمدة
    <?
    table(8,5);
    ?>
    ======================= الدالة الثانية تتحكم في لون وحجم الخط
    وتحتاج الى ثلاث بارامترات الأول لون الخط والثاني حجمه اما الثالث فهو النص
    <?
    function font($color,$size,$text)
    {
    echo"<font color='$color' size='$size'>$text</font>";
    }
    ?>
    وهذا مثال عليها
    <?
    $text="مرحبا بكم معنا في شبكة البدر";
    font(brown,8,$text);
    ?>
    وهذه داله تقوم الداله بالتحويل الى الرابط المحدد
    <?
    function goto($url)
    {
    echo'<meta htp-equiv='Refresh' content='1; Url=$url'>';
    }
    ?>

    عدد المقيّمين 1 وإجمالي التقييمات 5
    12345