آخـــر الـــمـــشـــاركــــات

تحميل برنامج الغاء تثبيت البرامج من الكمبيوتر Should I Remove It » آخر مشاركة: اردني وافتخر دردشة وتعليله وسواليف.. » آخر مشاركة: عاشق الحصن بريد الاعضاء » آخر مشاركة: محمد العزام اهلا بكم ..رمضان كريم » آخر مشاركة: حسان القضاة شو عم تسمع هلا » آخر مشاركة: حسان القضاة ما هو سبب تواجدك في المنتدى والى اي حدّ يستمر او ينتهي إنتسابك له ؟ » آخر مشاركة: قلعتي أبدية مرحبا » آخر مشاركة: محمد العزام " أميــــرةُ قـوسِ النَّصـــــر" » آخر مشاركة: قلعتي أبدية ~ إبريـــــــــــــــــل ~ » آخر مشاركة: حسان القضاة اسئلة مهمة بالفوتوشوب في المطابع 2019 » آخر مشاركة: المصمم يزن جبريل صاحب المركز الاول فى مجال تنزيل الملفات كامل مدي الحياة IDM 6.32 » آخر مشاركة: siiin همسات وأشوق » آخر مشاركة: حسان القضاة ""أيلـول""... » آخر مشاركة: قلعتي أبدية تبليغ عن رسالة زائر بواسطة راشد مرشد » آخر مشاركة: أميرة قوس النصر اشتقنالكم » آخر مشاركة: Mahmoud Zaben تُراهات ما قبل النوم ... » آخر مشاركة: قلعتي أبدية شو مزاجك اليوم... » آخر مشاركة: قلعتي أبدية قبول بلاغ عطل ثلاجات كلفينيتور 01092279973 & 0235700997 وكيل كلفينيتور (م .الجديدة) » آخر مشاركة: الوكيل1 قبول بلاغ عطل ثلاجات هوفر 01154008110 & 0235699066 وكيل هوفر (م.6اكتوبر) » آخر مشاركة: الوكيل1 قبول بلاغ عطل ثلاجات جنرال اليكتريك 01207619993 & 0235700997 وكيل جنرال اليكتريك (الز » آخر مشاركة: الوكيل1

الرد على الموضوع

أضف مشاركة إلى الموضوع: [دورة php - الدرس السابع عشر] - انشاء و برمجة الدوال functions

رسائلك

اضغط هنا للدخول

 
 

يمكنك إختيار أيقونة لرسالتك من هذه القائمة

الخيارات الإضافية

  • سيتم تحويلها www.example.com إلى [URL]http://www.example.com[/URL].

عرض العنوان (الأحدث أولاً)

  • 01-28-2011, 08:22 PM
    Sc®ipt

    رد: [دورة php - الدرس السابع عشر] - انشاء و برمجة الدوال functions

    اقتباس المشاركة الأصلية كتبت بواسطة DANA MURAD مشاهدة المشاركة
    شرح ممتاز وموفق جدا..، وبرضو مفهوم
    منورة دانا .....
  • 01-28-2011, 06:58 PM
    DANA MURAD

    رد: [دورة php - الدرس السابع عشر] - انشاء و برمجة الدوال functions

    شرح ممتاز وموفق جدا..، وبرضو مفهوم
  • 01-28-2011, 06:45 PM
    Sc®ipt

    رد: [دورة php - الدرس السابع عشر] - انشاء و برمجة الدوال functions

    اقتباس المشاركة الأصلية كتبت بواسطة totoalharbi مشاهدة المشاركة
    يسلمووووووووووووو
    العفو.........
  • 01-28-2011, 05:36 PM
    totoalharbi

    رد: [دورة php - الدرس السابع عشر] - انشاء و برمجة الدوال functions

    يسلمووووووووووووو
  • 01-28-2011, 05:20 PM
    Sc®ipt

    [دورة php - الدرس السابع عشر] - انشاء و برمجة الدوال functions

    بسم الله الرحمن الرحيم



    السلام عليكم و رحمة الله و بركاته ,, لقد درسنا في الدرس السابق موضوع مهم و هو موضوع اعادة استخدام الكود و دوال ادراج الملفات و تعرفنا على الطريقة و الأخطاء التي تنتج و بإمكانك الإطلاع على الدرس السابق و باقي دروس الدورة عبر الفهرس التالي :




    و دراسة موضوع الدرس السابق ستقودنا الى موضوع مهم جدا في البرمجة و هو الدوال functions حيث سنتعرف على الدوال و كيفية انشائها و كيفية استخدامها و مناداتها و سنتعرف على مدخلات الدوال (المعاملات , الباراميترز) و سنتعرف ايضا على ارجاع الدوال و القيم التي تعود منها و لنبدأ على بركة الله ,,,

    مناداة الدوال functions call


    على مدار الدروس السابقة تطرقنا الى مجموعة من الدوال مثل ()settype و ()include و ()require و غيرها الكثير و قد رأينا اننا عندما نريد منادة دالة فإننا نكتب كالتالي مثلا :

    كود PHP:
    <?php
        function_name
    ();
        
    function_name(200);
        
    function_name('zaed');
        
    function_name($array);
        
    function_name($var);
    ?>


    و اعتقد ان طريقة مناداة الدوال اصبحت واضحة لكم

    اخطاء في مناداة الدوال error in function call

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



    و في هذه الحالة يجب التأكد ان اسم الدالة صحيح و يجب ايضا التأكد من ان اسم الدالة غير ممنوع من الإستخدام فمثلا لا يجوز تعريف دالة بإسم ()include لأنها موجودة اصلا في اساسيات لغة php

    هنا يجب ان تعلم ايضا ان مناداة الدالة التي تقوم بإنشائها غير حساسة لحالة الأحرف فمثلا الدالة ()function_name هي نفسها ()Function_Name و هي نفسها ()FUNCTION_NAME و لكن عادة يقوم المبرمجين بإستخدام الحروف الصغيرة لتعريف و مناداة (استدعاء) الدوال و ايضا يجب ان تعلم ان الدوال لا يجوز ان تبدأ بأرقام او ان تكون معرفة مسبقا كما ذكرنا

    لكن تذكر ان اسماء المتغيرات حساسة لحالة الأحرف فالمتغير var$ يختلف عن المتغير VAR$

    انشاء و كتابة الدوال :

    الآن سنقوم بتعلم انشاء الدوال و كتابتها و الصيغة العامة للدالة هي كالتالي :

    كود PHP:
    <?php
        
    function func_name()
        {
            
    // here code you want to do
        
    }
    ?>


    هنا تلاحظ اننا بدأنا بالكلمة function و هي كلمة محجوزة لتعريف دالة جديد ثم تبعها ()func_name و هذا هو اسم الدالة الذي تحدثنا عنه في السطور السابقة و ثم تبعها الأقواس {} و بينها نكتب الكود الذي نريد تنفيذه عند استدعاء الدالة و اذا اردنا استدعاء الدالة فإننا نكتب اسم الدالة بعد الدالة كالتالي :

    كود PHP:
    <?php
        
    function func_name()
        {
            
    // here code you want to do
        
    }
        
        
    func_name(); // call
    ?>


    و الآن اليك المثال التالي لطباعة جملة معينة بإستخدام الدوال :

    كود PHP:
    <?php
        
    function print_welcome_statment()
        {
            echo 
    "<center><b><h1>Welcome to php functions with zaedo :D</h1></b></center>";
        }
        
        
    print_welcome_statment();
    ?>


    لاحظ هنا في السطر اننا قمنا بإستدعاء دالة و عند استدعائها سيذهب المترجم للبحث عن جسم الدالة و تنفيذه اي انه هنا سيطبع الجملة :
    كود PHP:
    Welcome to php functions with zaedo 


    و بإمكانك مشاهدة الناتج عبر الرابط التالي :
    http://www.al79n-php.info/less17/fun1.php

    مدخلات الدوال :

    عبر دراستنا للمواضيع السابقة في الدورة مر معنا دوال تحتاج الى مدخلات لتعمل بصورة صحيحة فمثلا الدالة ()require تحتاج الى مدخل وهو مسار الملف المراد ادراجه و إلا سينتج لنا خطأ ,, و هنا عند انشاء الدوال نستطيع ان نصنع دوال تأخذ مدخلات و الصيغة العامة لها كالتالي :

    كود PHP:
    <?php
        
    function func_name($var)
        {
            
    // here code you want to do
        
    }
    ?>


    حيث ان هذه الدالة كما تلاحظ تحتاج الى مدخل لإجراء عمليات عليه و الآن لاحظ المثال التالي و طريقة الإستدعاء :
    كود PHP:
    <?php
        
    function print_variable($var)
        {
            echo 
    $var ."<br/>";
        }
        
        
    print_variable(10);
        
    print_variable("zaed");
        
        
    $x=15;
        
    print_variable($x);
    ?>


    كما تلاحظ انه تم تمرير الرقم 10 الى الدالة في الإستدعاء فيقوم المترجم بأخذ القيمة 10 و طباعتها حسب تنفيذ الدالة و في الإستدعاء الثاني تم تمرير نص للدالة حيث سيستقبلها جسم الدالة و يقوم بطباعتها و ايضا في الإستدعاء الثالث تم تمرير متغير يحمل قيمة 15 و سيستقبله جسم الدالة و يقوم بطباعته و بإمكانك مشاهدة الناتج عبر الرابط التالي :
    http://www.al79n-php.info/less17/fun2.php

    و ايضا بإمكانك جعل الدالة تستقبل عدد من المتغيرات الي اكثر من متغير مثلا الدالة ()mail مثلا فإنها تحتاج الى اكثر من مدخل لكي تعمل بالشكل الصحيح فمثلا لاحظ هذا المثال الذي يقوم بطباعة مجوع 3 ارقام بإستخدام الدوال :

    كود PHP:
    <?php
        
    function sum($var1 $var2 $var3)
        {
            
    $s $var1 $var2 $var3;
            echo 
    "Sum is : ".$s."<br/>";
        }
        
        
    sum(10 20 15);
        
        
    $x=3;
        
    $y=6;
        
    $z=4;
        
    sum($x $y $z);
    ?>


    لاحظ هنا في هذا المثال اننا فصلنا بين مدخلات الدالة بالفاصلة (,) في جسم الدالة و في استدعاء الدالة
    و ايضا عليك ان تلاحظ ان عدد المدخلات في جسم الدالة يجب ان يكون مساويا لعدد المدخلات في الإستدعاء لهذه الدالة و بإمكانك مشاهدة نتيجة تنفيذ هذا الكود عبر الرابط التالي :
    http://www.al79n-php.info/less17/fun3.php

    والآن لاحظ المثال التالي :

    كود PHP:
    <?php
        
    function sum($var1 $var2 $var3=0)
        {
            
    $s $var1 $var2 $var3;
            echo 
    "Sum is : ".$s."<br/>";
        }
        
        
    sum(10 20);
        
        
    $x=3;
        
    $y=6;
        
    sum($x $y);
    ?>

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

    http://www.al79n-php.info/less17/fun4.php

    الآن لاحظ اننا نستطيع استخدام جمل الشرط و الدوران في الدوال من خلال المثال التالي :

    كود PHP:
    <?php
        
    function compar($var1 $var2)
        {
            if(
    $var1 == $var2)
            {
                echo 
    "$var1 is equal $var2";
            }
            elseif(
    $var1 $var2)
            {
                echo 
    "$var1 greater than $var2";
            }
            else
            {
                echo 
    "$var1 less than $var2";
            }
        }
        
        
    // call by 1 and 2
        
    compar(1,2);
        
        echo 
    "<br/>";
        
        
    // call by 100 and 85
        
    $x 100;
        
    $y 85;
        
    compar($x,$y);
    ?>


    و بإمكانك مشاهدة الناتج من هنا :
    http://www.al79n-php.info/less17/comp.php

    مخرجات الدوال و القيم الراجعة :

    يوجد نوعين من القيم التي تخرج كنتيجة للدالة و هي ارجاع مخرجات من الدالة بإستخدام جملة طباعة او كود html و النوع الثاني و هو قيمة نرجعها لمكان الإستدعاء و النوع الأول يسمى void و الثاني returned

    عندما لا تريد ارجاع قيمة من الدالة فإننا نقوم بالطباعة من داخل الدالة مثل المثال السابق

    اما اذا اردنا ارجاع قيمة للدالة فإننا نستخدم الجملة return لاحظ معي هذا المثال و من ثم الشرح :

    كود PHP:
    <?php
        
    function sum($v1 $v2)
        {
            
    $s $v1 $v2;
            return 
    $s;
        }
        
        
    $result sum(3);
        echo 
    $result."<br/>";
        
        echo 
    sum(3,6) ."<br/>";
    ?>


    هنا قمنا بتعريف دالة اسمها sum و تأخذ مدخلين و من ثم تقوم بجمع المدخلين و تخزين الناتج في s$ ثم تعيد قيمة الناتج المخزن في s$ الى مكان الإستدعاء بإستخدام الجملة return
    لاحظ في الإستدعاء الأول اننا قمنا بتعريف متغير اسمه result$ لتخزين القيمة العائدة من الدالة و لم نكتب اسم الدالة مباشرة و بعد استقبال القيمة العائدة الى المتغير قمنا بطباعتها و في الإستدعاء الثاني قمنا بإستدعاء الدالة داخل جملة الطباعة لتعود القيمة الراجعة من الدالة الى مكان الإستدعاء داخل جملة الطباعة و ليس لوحدها كما في السابق
    و بإمكانكم مشاهدة نتائج تنفيذ هذا الكود عبر الرابط التالي :
    http://www.al79n-php.info/less17/ret.php


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

    اخوكم : زيد مراد

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •