|
إنضمامك إلي منتديات استراحات زايد يحقق لك معرفة كل ماهو جديد في عالم الانترنت ...
انضم الينا
#1
| ||
| ||
<div> كنا قد تعرفنا في الدروس السابقة على أغلب التعليمات الأساسية في لغة الـ php وحقيقة هي أساس اللغة ولن أبالغ إذا قلت أننا لليوم نكون قد أنهينا مايقارب من ربع الدورة... فقد كانت مكثفة بغير قصد مني... بالاضافة إلى أنها كانت تحوي بعض الصعوبة والعجلة... وإلا فلغة الـ php من أسهل لغات برمجة الويب... ودرسنا اليوم عن الدوال .. functions طبعاً لا نستصعب الإسم... ولنعتبره اصطلاحاً... ماهي الدوال وماهو هدفها...؟ كثيراً ما نحتاج أثناء البرمجة إلى تكرار مجموعة عمليات عدة مرات ولهذا نستخدم التعليمة for أو while لكن قد لاتفيان بالغرض... فمثلاً : أريد تنفيذ مجموعة من العمليات مرة في أول الصفحة وتكرار تنفيذها نفسها في أسفل الصفحة ووسطها أيضاً إذا أحببت.. ويفصل بين أسفل الصفحة وأعلاها عدة عمليات أخرى... فلا تنفع معنا هنا اي تعليمة للتكرار... لأن التكرار يلزمه التتابع في العرض... وسأضطر لنسخ الكود البرمجي عدة مرات واضعه حسب أماكن الظهور التي أريد وهنا تنبع مشكلة ثانية وهي صعوبة التعديل إذا ما أردت تغيير شيء في هذا الكود البرمجي... ...وهنا تحل الدوال هذه المعضلة. فهي عبارة عن مجموعة تعليمات (كود برمجي) يتم جعله ضمن طريقة كتابة محددة ويتم طلب تنفيذ هذه التعليمة في أي مكان في الصفحة بمنتهى السهولة... لها الشكل التالي واستدعاء الدالة (أي طلب تنفيذ التعليمات الموجودة فيها) يتم بطلب اسم الدالة.. فعلى سبيل المثال... نكتب دالة تحوي تعليمة واحدة: طبعاً لاحظنا أننا أنشأنا في بداية الصفحة دالة باسم printit نحن اخترعناه... وجعلناها تحتوي تعليمة طباعة واحدة... وإنشاء الدالة لا يعني انها ستقوم بالتنفيذ أبداً... فلن تقوم بالتنفيذ الا باستدعائها بطلب اسمها كما شاهدنا وقد شاهدنا قوسين بعد اسم الدالة فما وظيفتهما؟ يمكن عن طريق هذين القوسين تمرير قيم إلى التعليمات ضمن الدالة ليتم التنفيذ على أساس هذه القيم... والمثال السابق لا يحوي هذه الخاصية وهو يعمل طبعاً فليست ضرورية... لذلك سنكتب مثالاً جديداً... وهنا لاحظنا أننا قمنا بتمرير قيمتين إلى الدالة في كل عملية تنفيذ وجعلنا بينهم فاصلة عادية وجعلنا في قوس المتغيرات في انشاء الدالة متغيرين ليستقبلا القيمتين المرسلتين أثناء طلب استدعاء الدالة للتنفيذ... وعدد القيم المرسلة يجب أن يكون بعدد المتغيرات الموجود في انشاء الدالة... وطبعاً في الدالة يمكن أن أضع أي كود برمجي... وأي تعليمة حتى ولو كان دالة داخلية أو تعليمة تكرارية أو شرطية... ولكن لا يمكنني أن أعرف ضمن الدالة قيمة أي متغير موجود خارجها... وكأنها بناء منفصل لايتأثر بالتعليمات أو بالمتغيرات ضمن الصفحة ولا يؤثر فيها فمثلاً ستطبع البرمجية التالي الكود var = var = var = New text variable لم تتأثر الدالة بقيمة المتغير var القديمة ولا الجديدة ... وهناك طريقة واحدة لامكانية التأثر والتأثير... وهي أن نضع ضمن الدالة كلمة global كتعليمة بداية فيها وبعدها اسماء المتغيرات الخارجية التي نريد ان تتعرف عليها التعليمات ضمن الدالة وتتأثر وتؤثر بها وكتعديل للمثال السابق وبعد التجريب ستطبع البرمجية التالي الكود var = text variable var = New text variable var = New text variable وكذلك إذا قمت بتغيير قيمة المتغير من داخل الدالة فإنها ستتغير خارجها وقيمة المتغير ضمن الدالة هي قيمته في الذاكرة لحظة وصول البرنامج بالتنفيذ لطلب استدعاء الدالة وهذا سبب طباعة الدالة لقيمتين مختلفتين بنفس تعليمة الاستدعاء... وإذا أردنا تضمين أكثر من متغير ضمن الدالة فيمكن الفصل بينهم ضمن تعليمة global واحدة بفواصل عادية <font color="darkblue">لاحظنا أننا نقوم بعمل print ضمن الدالة وهذا أمر قد لا يناسبنا دائماً... فلربما نريد تنفيذ الدالة لتقوم بمجموعة عمليات حسابية وتعيد إلينا ناتج تنفيذ هذه العمليات دون ان تقوم بالطباعة... وقد يسبب لنا بعض المشاكل استخدام global... لذلك يمكننا استخدام خاصية return في الدالة ووظيفتها أنها تقوم بإعادة ناتج انت تريده إلى المكان الذي تريد استخدامه فيه فمثلاً بالعودة لمثالنا الأول في هذا المثال نجد أنه لا يوجد في الدالة تعليمة print وتقوم تعليمة return بإرجاع قيمة المتغير op إلى المكان الذي تم فيه استدعاء الدالة ليتم تخزينه مباشرة بالمتغير sss كما لاحظنا وطبعاً أصبحت الآن نتيجة المعالجة في الذاكرة يمكننا استخدامها أنـّى نريد... طبعاً لا نتعامل مع أرقام فقط... يمكنكم تجربة هذا المثال... <div align="left"><font color="#000000"> <font color="#0000bb"> __DEFINE_LIKE_SHARE__ |
مواقع النشر (المفضلة) |
أدوات الموضوع | |
انواع عرض الموضوع | |
| |
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
الدرس السادس عشر:ادخال الصورة داخل شكل قلب او اي شكل اخر .. | سَوّافْ | دورة الفوتوشوب | 58 | 06-24-2011 05:41 PM |
الدرس السادس : طريقة اضافه اطار لنص | emaraty $tyle | دورة الفوتوشوب | 54 | 06-23-2011 03:02 PM |
دروس mmb ///الدرس السادس | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 06-06-2009 10:31 PM |
دروس mmb ///الدرس السادس | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 06-06-2009 10:20 PM |
دروس mmb ///الدرس السادس | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 06-06-2009 10:10 PM |