معهد دعم اتش فى اى بى اس لحلول الويب - Powered by vBulletin


 
 
النتائج 1 إلى 2 من 2

الموضوع: الدوال functions

  1. #1
    أدارى
    الصورة الرمزية HVIPS4


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 6
    الدولة: Cairo
    المشاركات: 1,979
    HVIPS4 غير متواجد حالياً

    الدوال functions


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

    والصلاة والسلام على خير المرسلين

    درسنا لهذا اليوم سيكون عنوانه

    الدوال functions

    تعرفنا في دروسنا السابقة الى عدة دوال مهمة منها include و echo و require

    والكثير منها وكل واحده منها كانت تعمل عملا يختلف عن سابقتها

    اذا السؤال الان ماهي حاجة المبرمج الى الدوال ؟

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

    الن يكون من الصعب عليك ان تقوم بكتابة الكود الخاص بهذه العملية للعديد من المرات

    ومن هنا اتت فكرة الدوال وهي ان نقوم بعمل دالة معينه في ملف معين ونضع بها هذه العملية

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

    جميل اليس كذلك ^^


    سنقسم هذا الدرس الى عدة مراحل سأقوم بطرحها واحدة بعد الاخرى بطريقة مبسطة وسلسة

    حتى تستطيع فهمها وفي المشاركة التالية سنقوم بأكمال السكريبت الذي بدأناه بمساعدة الدوال..

    1- كتابة الدوال.
    2- اسماء وحالات الدوال.
    3- مناداة الدوال.
    4- اخطاء في مناداة الدوال.
    5- مدخلات الدوال.
    6- مرجعات من الدوال.
    7- ارجاع بيانات من الدوال.


    اولا : لنتعلم كيف تتم عملية كتابة الدوال.:

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    في هذه الصورة نلاحظ وجود

    function: وهي لتعريف الدالة ويجب ان تكون موجوده عندما تريد ان تعرف دالة معينه
    fun_name: وهو اسم الدالة المراد تعريفها مثلا (mohammad,printing)
    ( ):لوضع المدخلات الخاصة بالدالة.
    the code you want to do;: وهنا نضع الكود المراد تنفيذه مثلا طباعة او عملية حسابية

    وبهذا تعرفنا على الشكل العام للدالة وكيف تتم كتابته..

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

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    هل لاحظت كيفية عملها اذن لنقم الان بجعلها تطبع الكلمة المراد طباعتها

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    قم بتنفيذ الكود الموجود بالصورة وانظر لما قامت بعملة هذه الدالة^^

    ثانيا : اسماء وحالات الدوال. ..

    هنا يجب عليك ان تعرف بأن اسماء الدوال لا تختلف فمثلا
    say_welcome()
    تشبة
    Say_welcome()
    وتشبة
    SAY_WELCOME()

    ولكن المتعارف عليه عند المبرمجين هو ان تكون اسماء الدوال احرف صغيرة وايضا
    اسماء الدوال لا يمكن ان تبدأ بأرقام ..

    ثالثا : مناداة الدوال...

    رايت الكثير من الدوال ومنها include

    وتكون طرق مناداة الدوال كالتالي :

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    سنأتي لما جاء في الصورة واحدا واحدا فقط صبركم علي شوي^^

    رابعا : وهي اخطاء في مناداة الدوال...

    ماذا يحدث اذا ناديت دالة غير موجوده فسوف يأتيك خطأ Call undefined function
    ويعني بأن هذه الدالة غير موجوده وهنا يجب عليك ملاحظة شيئين اثنين
    ان الدالة اما ان تكون غير موجوده او ان الدالة اسمها غير مسموح استخدامة


    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    فمثلا لوجود الدالة echo فلن تستطيع ان تنشئ دالة بنفس هذا الاسم


    كود PHP:
                           function echo { } 
    خامسا : مدخلات الدوال ..^^
    ركزو الله يسعدكم حبايبي

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

    فمثلا

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    لاحظ هنا بأننا قمنا بأدخال المتغير X في الدالة ومثلا كان هذا المتغير عبارة عن اي جملة انت تريد
    ادخالها للدالة لتقوم بطباعتها

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    قم بكتابة الكود بالصورة السابقه وافتحه بالمتصفح وانظر ماذا قامت الدالة بعمله

    لاحظ هنا انه اذا لم تقم بوضع مدخل بها اي انك لم تكتب هذه الجملة بالدالة


    كود PHP:
                           " هذه الدالة ستطبع اي شيء اريد " 


    فسيظر لك خطأ ويمكنك ان تجعل الدالة تقوم بطباعة اي شيء تريد مثلا كان رقما ستقوم بطباعته مثلا


    كود PHP:
                           say_welcome15 ); 
    ماذا الان لو اردنا بأعطاء اكثر من مدخل للدالة هل يمكن ذلك؟ نعم يمكن اكتب في محرر الاكواد
    ما ستراه بالصورة

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    افتح الكود بالمتصفح وانظر ماذا قامت الدالة بعمله ^^

    بسيط الدرس اليس كذلك ^^

    ملاحظة: يمكنك جعل عدد لا نهائي من المعطيات للداله , والامر يعود الى طريقتك واحتياجك.

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

    يفرض علينا ادخال قيمتين لتقم الدالة بطباعتهما ولكن ماذا لو كان احد هذه المدخلات اختياري ..

    قم بطباعة الكود الذي ستراه بالصورة

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    افتح الكود بالمتصفح وانظر ما الذي حدث ^^

    لنقم الان بعمل تطبيق صغير وبسيط فالنفترض بأننا نريد بعمل عملية حسابية ونجمع رقمين ونظهر الناتج

    بالمتصفح ... انظر للصورة بالاسفل وقم بكتابة الكود الموجود بها ^^

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    افتح الملف بالمتصفح وانظر الى الناتج
    قم بتغير الارقام الموجوده بين القوسين الخاصين مناداة الدالة


    كود PHP:
                           math1(11,10); 
    math1(0,10); 
    math1(10,10); 
    وانظر الى نتيجة عملك ^^

    رائعه اليس كذلك ^^

    حسنا لنقم الان بالانتقال الى نقطة جديده ومهمه وهي

    سادسا: مرجعات من الدوال. ...

    المرجعات تنقسم الى قسمين :
    1- ارجاع مخرجات وهو ما قمنا بعمله في مثالنا السابق ويكون اما بأرجاع المخرجات بعبارة
    echo او يكون كود html

    والنوع الثاني وهو

    2- ارجاع بيانات من الدوال.:
    اعني بإرجاع بيانات من الدوال , اي ارجاع قيم , ليست للطباعه بمعنى اصح,
    ونستخدم في هذه الحاله العباره return , في مثالنا السابق ,
    على سبيل المثال نريد ان نعرف ماهو العدد الاكبر لنستخدمه في كود اخر
    , لنرى كيفية عمله الان , اكتب التالي في محرر الاكواد :

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    الشرح للكود موجود في نفس الصورة السابقه

    هنا نكون قد انتهينا من الدوال وماهيتها وما هي طريقة عملها ..

    لنقم الان بوضع بعض الملاحظات..

    1- كيف نقوم بأدراج الدوال التي قمنا بأنشاءها في السكريبت الخاص بنا ..
    اولا نقوم بوضع كافة الدوال في ملف لوحدة
    وثانيا نقوم بأستدعائها عن طريق include في ملفنا الرئيسي او في المكان التي سنحتاجها به

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

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

    2- لا تنسى ان تقوم بوضع ملاحظاتك على كل دالة لتعرف ما هو عملها

    تدريب بسيط على الدرس :
    في درسنا السابق قمنا بأدراج الheader والfooter من ملفات بدالة
    include

    قم الان بعمل دالة للheader ودالة اخرى للfooter وضعهم في ملف واحد واستدعي هذا الملف

    في الملفات الثلاث التي قمنا بأدراج الهيدر والفوتر فيهما وضع مكان الكود المخصص لأدراج ملف الهيدر
    اسم دالة الهيدر وايضا مكان الكود المخصص لأدراج الفوتر اسم دالة الفوتر

    التدريب بسيط ولكن يحتاج الى بعض التركيز ومعرفة اي حالة من حالات الدالة تحتاج لأستخدامها

    اترك المجال لكم بالتركيز وفهم الدرس

    واتمنى ان اكون قد وفقت فيما شرحت

    وسيكون عنوان مشاركتنا القادمة هو

    اكمال السكريبت الذي قمنا بالعمل عليه منذ البداية بأستخدام الدوال ...

    والله يوفقكم ويوفقنا اجمعين

    والسلام عليكم

  2. #2
    أدارى
    الصورة الرمزية HVIPS4


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 6
    الدولة: Cairo
    المشاركات: 1,979
    HVIPS4 غير متواجد حالياً

    رد: الدوال functions


    لسلام عليكم ورحمة الله وبركاتة

    تعرفنا في مشاركتي السابقة على الدوال واتمنى ان تكونوا قد اجدتم دراستها لما لها اثر كبير

    في برمجتنا وفي برامجنا والان لنكمل مشوار السكريبت الذي بدأناه معا ولنكمل بعض منة

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

    لنقل بسم الله ولنبدأ بالعمل

    اولا قم بفتح الملف movie1.php واعمل به التغيرات التي بالصور بالاسفل

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي
    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    لاحظ بأن اضافة السطور البرمجية تبدأ من السطر 30

    حسنا اظن بأنكم تعرفون ما الذي قمنا بأضافته هنا قمنا بأضافة رابطين جديدين الاول
    يقوم باحضار اول خمس افلام بالمجموعة والثاني يقوم بأحضار ال 10 افلام بالمجموعة
    وذلك سيتم عن طريق المتغير movienum فأذا كان الاختيار 5 سيحضر 5 افلام واذا كان الاختيار
    10 سيحضر 10 افلام ستفهمون اكثر عند المتابعة ^^

    الان افتح الملف moviesite.php وقم بعمل التغيرات والاضافات التي ستراها بالصور...

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


    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي
    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    لنقم الان بشرح بعض ما قمت به لأن الذي لن اشرحه تم شرحة بالدروس السابقة

    1-

    if (isset($_REQUEST['favmovie']))


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

    2-

    function listmovies_1()
    function
    listmovies_2()
    هاتين الدالتين قمنا بأنشائهما ليقوما بكتابة 5 افلام مفضلة في كل واحده منهن

    3-
    ولكن اذا قمنا بالضغط على الرابط الثاني في ملف movie1.php سيقوم بأحضار
    الدالة الاولى لتقوم بطباعة اول خمس افلام افضلهم
    عن طريق هذا الكود


    else {
    echo
    "My Top ";
    echo
    $_REQUEST['movienum'];
    echo
    " movies are: ";
    echo
    "<br>";

    listmovie_1();
    واذا قمنا بالضغط على الرابط الثالث بنفس الملف سيقوم بأستدعاء الدالة الثانية
    وهي التي تقوم بطباعة 10 افلام افضلهم عن طريق هذا الكود


    if ($_REQUEST['movienum'] == 10) listmovies_2();
    قم بالدخول الى ملف login وضع كلمة المرور واسم المستخدم وانظر لما قمنا بعمله من خلال هذه المشاركه^^

    شيء رائع اليس كذلك وسهله ايضا ولكن تحتاج التركيز في كتابة الاكواد

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

    لا يوجد تدريب لهذا اليوم سيكون استراحة وانتظروني بالدرس القادم وهو

    العباره global
    العباره static

    اتمنى بأن تكونوا قد استمتعتم واستلقيت استحسانكم

    والله الموفق ^^

 

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

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