إنضمامك إلي منتديات استراحات زايد يحقق لك معرفة كل ماهو جديد في عالم الانترنت ...

انضم الينا
استراحات زايد الصفحة الرئيسية

         :: افضل شركة تنظيف خزانات بالاحساء (آخر رد :رودى طه)       :: مخاطر اهمال وصيانة الخزانات بالرياض (آخر رد :رودى طه)       :: خطوات عزل الخزانات بالدمام (آخر رد :رودى طه)       :: تصاميم حصريه مظلات الاختيار الاول- 0114996351 - مظلات خارجية السيارات - مظلات (آخر رد :مظلات وسواترالاختيارالاول)       :: مظلات الاختيار بالدمام-والشرقية 0114996351 مظلات سيارات-سواتر-مشاريع مظلات-السيارات (آخر رد :مظلات وسواترالاختيارالاول)       :: معرض سواتر الرياض|0114996351 معرض التخصصي مظلات| مظلات الرياض| مظلات وسواتر الرياض| س (آخر رد :مظلات وسواترالاختيارالاول)       :: محل مظلات الاختيار الاول -الرياض-التخصصي-حي النخيل ت/0114996351 ج/0500559613 (آخر رد :مظلات وسواترالاختيارالاول)       :: شيخ روحاني في السعوديه 00491634511222 (آخر رد :ابو جابر30)       :: تفسير حلم تغطية الوجه للعزباء (آخر رد :نوران نور)       :: رحلة انقاص وزنك تبدأ مع الرشاقة السعيدة (آخر رد :دارين الدوسري)      

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 09-09-2009, 05:00 AM
عضو ماسي
بيانات محروم.كوم
 رقم العضوية : 503
 تاريخ التسجيل : Dec 2007
الجنس : female
علم الدوله :
 المشاركات : 2,100,611
عدد الـنقاط :3341
 تقييم المستوى : 2139

<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 واحدة بفواصل عادية





<div align="center">







<font color="darkblue">لاحظنا أننا نقوم بعمل print ضمن الدالة
وهذا أمر قد لا يناسبنا دائماً... فلربما نريد تنفيذ الدالة لتقوم بمجموعة عمليات حسابية وتعيد إلينا ناتج تنفيذ هذه العمليات
دون ان تقوم بالطباعة... وقد يسبب لنا بعض المشاكل استخدام global...

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

فمثلاً بالعودة لمثالنا الأول







في هذا المثال نجد أنه لا يوجد في الدالة تعليمة print وتقوم تعليمة return بإرجاع قيمة المتغير op إلى المكان الذي تم فيه استدعاء الدالة ليتم تخزينه مباشرة بالمتغير sss كما لاحظنا
وطبعاً أصبحت الآن نتيجة المعالجة في الذاكرة يمكننا استخدامها أنـّى نريد...


طبعاً لا نتعامل مع أرقام فقط...
يمكنكم تجربة هذا المثال...


<div align="left"><font color="#000000">
<font color="#0000bb">
__DEFINE_LIKE_SHARE__
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس السادس عشر:ادخال الصورة داخل شكل قلب او اي شكل اخر .. سَوّافْ دورة الفوتوشوب 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


الساعة الآن 02:59 PM


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir

RSS RSS 2.0 XML MAP HTML