[x]

"وقـل اعمـلوا فسـيرى الله عـملكم ورسـوله والمؤمنـون"


..لمحة عن كليات جامعة دمشق و فروعها... شاركنا تجربتك وكلمنا عن اختصاصك



المحـاضـرات
برنـامج الـدوام
برنـامج الامتحــان
النتـائج الامتحـانيـة
أسـئلة دورات
أفكـار ومشــاريع
حلقــات بحـث
مشــاريع تخـرّج
"وقـل اعمـلوا فسـيرى الله عـملكم ورسـوله والمؤمنـون"
كلية الهندسة المعلوماتية

مواضيع مميزة..



  ملتقى طلاب جامعة دمشق --> كلية الهندسة المعلوماتية --> الأقسام العامة كلية الهندسة المعلوماتية --> برمجة وتصميم الويب
    (( دورة php )) الدرس السادس... الدوال functions
عنوان البريد :  
كلمة المرور :  
                    تسجيل جـديد


صفحة 1 من 2  1 2->

.(( دورة php )) الدرس السادس... الدوال functions


Y4$$3R N3T

عضــو ماسـي






مسجل منذ: 12-03-2006
عدد المشاركات: 4989
تقييمات العضو: 621
المتابعون: 119

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

(( دورة php )) الدرس السادس... الدوال functions

06-09-2009 05:43 AM




كنا قد تعرفنا في الدروس السابقة على أغلب التعليمات الأساسية في لغة الـ php
وحقيقة هي أساس اللغة ولن أبالغ إذا قلت أننا لليوم نكون قد أنهينا مايقارب من ربع الدورة...
فقد كانت مكثفة بغير قصد مني... بالاضافة إلى أنها كانت تحوي بعض الصعوبة والعجلة...

وإلا فلغة الـ php من أسهل لغات برمجة الويب...


ودرسنا اليوم عن الدوال .. functions
طبعاً لا نستصعب الإسم... ولنعتبره اصطلاحاً...

ماهي الدوال وماهو هدفها...؟
كثيراً ما نحتاج أثناء البرمجة إلى تكرار مجموعة عمليات عدة مرات ولهذا نستخدم التعليمة for أو while
لكن قد لاتفيان بالغرض...
فمثلاً : أريد تنفيذ مجموعة من العمليات مرة في أول الصفحة وتكرار تنفيذها نفسها في أسفل الصفحة ووسطها أيضاً إذا أحببت.. ويفصل بين أسفل الصفحة وأعلاها عدة عمليات أخرى...
فلا تنفع معنا هنا اي تعليمة للتكرار... لأن التكرار يلزمه التتابع في العرض... وسأضطر لنسخ الكود البرمجي عدة مرات واضعه حسب أماكن الظهور التي أريد وهنا تنبع مشكلة ثانية وهي صعوبة التعديل إذا ما أردت تغيير شيء في هذا الكود البرمجي...
...وهنا تحل الدوال هذه المعضلة.

فهي عبارة عن مجموعة تعليمات (كود برمجي) يتم جعله ضمن طريقة كتابة محددة
ويتم طلب تنفيذ هذه التعليمة في أي مكان في الصفحة بمنتهى السهولة...


لها الشكل التالي
[php][/php]

واستدعاء الدالة (أي طلب تنفيذ التعليمات الموجودة فيها) يتم بطلب اسم الدالة..
[php][/php]


فعلى سبيل المثال...
نكتب دالة تحوي تعليمة واحدة:

[php][/php]

طبعاً لاحظنا أننا أنشأنا في بداية الصفحة دالة باسم printit نحن اخترعناه...
وجعلناها تحتوي تعليمة طباعة واحدة... وإنشاء الدالة لا يعني انها ستقوم بالتنفيذ أبداً... فلن تقوم بالتنفيذ الا باستدعائها بطلب اسمها كما شاهدنا

وقد شاهدنا قوسين بعد اسم الدالة فما وظيفتهما؟
يمكن عن طريق هذين القوسين تمرير قيم إلى التعليمات ضمن الدالة ليتم التنفيذ على أساس هذه القيم...
والمثال السابق لا يحوي هذه الخاصية وهو يعمل طبعاً فليست ضرورية... لذلك سنكتب مثالاً جديداً...

[php][/php]

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

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

فمثلاً
[php][/php]
ستطبع البرمجية التالي

الكود
var =
var =
var = New text variable


لم تتأثر الدالة بقيمة المتغير var القديمة ولا الجديدة ...
وهناك طريقة واحدة لامكانية التأثر والتأثير... وهي أن نضع ضمن الدالة كلمة global كتعليمة بداية فيها وبعدها اسماء المتغيرات الخارجية التي نريد ان تتعرف عليها التعليمات ضمن الدالة وتتأثر وتؤثر بها
وكتعديل للمثال السابق

[php][/php]

وبعد التجريب ستطبع البرمجية التالي

الكود
var = text variable
var = New text variable
var = New text variable


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

[php][/php]







ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 2


Y4$$3R N3T

عضــو ماسـي






مسجل منذ: 12-03-2006
عدد المشاركات: 4989
تقييمات العضو: 621
المتابعون: 119

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

06-09-2009 06:19 AM




لاحظنا أننا نقوم بعمل print ضمن الدالة
وهذا أمر قد لا يناسبنا دائماً... فلربما نريد تنفيذ الدالة لتقوم بمجموعة عمليات حسابية وتعيد إلينا ناتج تنفيذ هذه العمليات
دون ان تقوم بالطباعة... وقد يسبب لنا بعض المشاكل استخدام global...
لذلك يمكننا استخدام خاصية return في الدالة
ووظيفتها أنها تقوم بإعادة ناتج انت تريده إلى المكان الذي تريد استخدامه فيه

فمثلاً بالعودة لمثالنا الأول
[php][/php]

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


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

[php][/php]

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




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

[php][/php]
بعد التجربة نلاحظ أنه في حال ليس هناك قيم مرسلة فإنه يستخدم القيم الافتراضية المعطاة...
ولايهم تغير النوع في المتغير المهم انه صالح للاستخدام ضمن الدالة... يعني طبعاً لن أرسل حرف ليتم طرح رقم منه!!!
وكذلك من الضروري جعل القيم الافتراضية في النهاية او عند استدعاء الدالة الاستغناء عن ارسال القيم بوضع اشارتي اقتباس...



الأمر الأخير في الدوال...
أن هناك المئات من الدوال مسبقة الإعداد كثيرة الاستخدام يمكنك طلبها بمجرد ذكر اسم الدالة مع وضع بعض القيم المطلوبة لتنفيذ عمل الدالة...
وأغلينا تعتمد على مبدأ return أي أنها تعالج وتعيد إليك ناتج المعالجة... وضعه أنت أينما يعجبك
سأذكر على سبيل المثال فقط
يمكنكم تجربة هذه الدوال مسبقة الاعداد والتي سأختارها للتعامل مع النصوص...
[php][/php]

لاوظيفة.... المهم تجربة الدرس والمتابعة...





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 3


ليــزر

جامعـي جديــد





مسجل منذ: 08-05-2009
عدد المشاركات: 29
تقييمات العضو: 0
المتابعون: 14

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

06-09-2009 09:02 AM




جزاك الله خير يا أستاذ ياسر

صحيح إنه مافي واجبات ( وظايف)

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





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 4


رائد حبيب

عضــو فضـي

وكفى بربك هادياً ونصيرا



مسجل منذ: 07-09-2007
عدد المشاركات: 1295
تقييمات العضو: 0
المتابعون: 29

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

06-09-2009 02:27 PM




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





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 5


beckham sh

عضــو فضـي





مسجل منذ: 30-09-2007
عدد المشاركات: 1458
تقييمات العضو: 10
المتابعون: 34

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

06-09-2009 02:32 PM




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





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 6


sufia

جامعـي اســتثنائي

ضع هدفك على القمر فإذا أخطأته فسوف تستقرعلى النجوم




مسجل منذ: 15-05-2008
عدد المشاركات: 953
تقييمات العضو: 0
المتابعون: 21

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

06-09-2009 06:46 PM




يعطيك العافية استاز ياسر
الدرس حلو كتير
بس يا ريت لو كان في وظيفة مشان نقدر نحدد درجة فهمنا للدرس
وشو الصعوبات يلي بتواجهنا

يعطيك العافية مرة تانية
بانتظار الدرس السابع
   
 





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 7


mmmohamad

جامعـي اســتثنائي

ليش خايفين الله معنا




مسجل منذ: 24-05-2009
عدد المشاركات: 632
تقييمات العضو: 8
المتابعون: 23

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

07-09-2009 05:52 AM





                                                                                                         

                                                                                                                                             
                                                                                                                               





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 8


NIGHT rider

مشــــــــرف
قســــم البحــــوث العلميـــــة


We've ,, no less days ,, to sing God's ,, praise




مسجل منذ: 12-06-2008
عدد المشاركات: 2866
تقييمات العضو: 9
المتابعون: 157

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

07-09-2009 07:15 PM




السلام عليكم ,,,

أنا بصراحة ,,, بطلب ,, من حضرتك ,,, ياسر ,, الغالي ,,,

تأجل الدورة لبعد العيد ,,,, لأنو دروس بدون وظائف ما بيمشي الحال ,,,,

وضغط ,,, الوئت علينا هلأ ,,,  لا نحسد عليه ,,,


فبقترح تأجيل الدورة ,,,  أٍبوعين ,, فقط لا غير ,,,





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 9


mmmohamad

جامعـي اســتثنائي

ليش خايفين الله معنا




مسجل منذ: 24-05-2009
عدد المشاركات: 632
تقييمات العضو: 8
المتابعون: 23

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

08-09-2009 03:37 AM




السلام عليكم




اقتباس
أنا بصراحة ,,, بطلب ,, من حضرتك ,,, ياسر ,, الغالي ,,,

تأجل الدورة لبعد العيد ,,,, لأنو دروس بدون وظائف ما بيمشي الحال ,,,,

وضغط ,,, الوئت علينا هلأ ,,,  لا نحسد عليه ,,,


لا أنا لا أوافق تأجيل الدورة ... لأنه بعد العيد يصير عنا التزامات أكثر لأنه تكون الجامعة بلشت

وصار الوقت ضيق أكثر





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.

مشاركة : 10


Y4$$3R N3T

عضــو ماسـي






مسجل منذ: 12-03-2006
عدد المشاركات: 4989
تقييمات العضو: 621
المتابعون: 119

غير موجود
اشــترك بالتحديثات
رسالة مستعجلة

رد مشاركة : (( دورة php )) الدرس السادس... الدوال functions

08-09-2009 04:41 AM




ماشاء الله...
يعني هلأ بدكون تفهموني انكون جربتوا الدرس...!!!


وماعرفتوا انه في خطأ بالمثال الأخير هههه

[php][/php]





ملتقى طلاب جامعة دمشق




أنت غير مسجل لدينا.. يمكنك التسجيل الآن.
صفحة 1 من 2  1 2->
 








ملتقى طلاب الجامعة... منتدى غير رسمي يهتم بطلاب جامعة دمشق وبهم يرتقي...
جميع الأفكار والآراء المطروحة في هذا الموقع تعبر عن كتّابها فقط مما يعفي الإدارة من أية مسؤولية
WwW.Jamaa.Net
MADE IN SYRIA - Developed By: ShababSy.com
أحد مشاريع Shabab Sy
الإتصال بنا - الصفحة الرئيسية - بداية الصفحة