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



 
الرئيسيةالتسجيلأحدث الصوردخول

 

 11- ادراج الملفات والدوال بأنواعها

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
زائر الليل
ادارة IT CLUB
ادارة IT CLUB
زائر الليل


ذكر
عدد الرسائل : 1022
العمر : 36
تاريخ التسجيل : 20/10/2007

11- ادراج الملفات والدوال بأنواعها Empty
مُساهمةموضوع: 11- ادراج الملفات والدوال بأنواعها   11- ادراج الملفات والدوال بأنواعها Icon_minitimeالأربعاء مايو 06, 2009 12:28 am

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


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

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • لا يوجد

    اهداف الدرس:
  • اعادة استخدام الكود
  • ادراج الملفات
  • الداله require
  • الداله include
  • لماذا احتاج الى الدوال ( functions )
  • الدوال ( functions )
  • استخدام ادراج الملفات مع الدوال





اعادة استخدام الكود :

ماذا نعني بإعادة استخدام الكود ؟ لنذهب بعيدا عن البرمجه وعن الدنيا بشكل اوسع , لنجعل مخيلاتنا تتحكم بنا لمدة دقيقتان , لماذا نعيد استخدام شي معين ؟ اننا نعيد استخدامه لانه مفيد جدا اليس كذلك ؟ لو كنت طالب في احدى المدارس مثلا , لديك شنطه تضع بها كتبك الدراسيه , احببت هذه الشنطه , الجوده , التحمل , القيمه , تستخدمها كل سنه وكل ترم في الدراسه , وقت الاجازات تهملها , ولكن قد تستعملها لتضع ملابس السباحه اذا اردت الذهاب الى النادي , تستخدمها لحفظ اشياء القيمه , لست طالبا ؟ لنقل انك معلم , لديك بعض من شروحات الدروس على الكمبيوتر , تستخدمها في كل سنه , تغير المنهج الذي تقوم بتدريسه او اصدرت نسخه جديده , لن تقوم بمسح جميع شروحاتك , بل سوف تقوم بتعديل اللازم. لنرجع الان عالمنا ونعيد السؤال لماذا نحتاج الى اعادة استخدام الكود, تخيل انك تعمل في شركه, والشركه لديها موقع وانت المسؤول عنه , رأس صفحات الموقع كلها نفس الشي , ذيل صفحات الموقع كله نفس الشي , مرت الايام كبرت الشركه وزاد عدد الصفحات الى اكثر من 100 صفحه , جاء اليك المدير طالبا بإضافة البريد الالكتروني في رأس كل صفحه من صفحات الموقع , او طلب تغييرات طفيفه ؟ ماذا سوف تفعل ؟ مجهود كبير اليس كذلك ؟ مفهوم اعادة استخدام الكود يعتبر هدف من اهداف هندسة برمجيات الكمبيوتر , ليس ذلك لانهم كسولين ولا يحبون العمل او كتابة الاكواد , ولكن لانه الافضل من نواحي كثيره , من حيث القيمه , من حيث الاعتماد على الكود , من حيث التماسك ولكل منها كلام يطول , ويمكن البحث في google او في MSN بكتابة العباره التاليه : ( why reuse code in programming ).



ادراج الملفات :

قرأت قبل قليل مثال عملك في الشركه , والموقع الذي اصبح عباره عن 100 صفحه , كيف يمكنك التغلب على هذه المشكله , هنا تأتي فائدة ادراج الملفات , لنقم بحل المشكله , عند دخولنا لمنتديات وحتى شبكة ارسن , تجد ان جميع الصفحات لها رأس واحد ( header ) ولها ذيل واحد ( footer ) والاختلاف دائما يكون في محتوى الصفحه ( في النصف ) وهذا ما نسميه ( body ) , لنقم بمشاهدة مثال على ذلك , انظر التالي :
11- ادراج الملفات والدوال بأنواعها L11e1

الان لدينا , رأس وذيل ومحتوى , الرأس والذيل ثابتين لا يتغيرون في جميع الصفحات , ولكن المحتوى يتغير , مره تظهر اخبار , ومره يظهر تصويت , ومره يظهر معلومات عن الشركه , الان تخيل ان هذا هو موقع الشركه , ولديك 100 صفحه , والمدير فرض عليك عليك ان تقوم بتغيير الشعار من ( درسي ... اونلاين ) الى ( برمجتي ... اونلاين ) , ماذا ستفعل ؟ ستقوم بتغيرر جميع الصفحات وكم سيأخذ هذا من الوقت , لكن تخيل ان هذه منفصله , الرأس لوحده , والذيل لوحده , وفي كل صفحه نقوم بإدراجهمها ( يعني انه لدينا ملف واحد به الرأس ) و ( ملف واحد به الذيل ) اذا سوف نقوم في اي صفحه بإدراج هذين الملفين في الاعلى والاسفل , وعندما نريد ان نقوم بتغير الرأس او الذيل فإننا نقوم بتغيير الملف الرئيسي الموجود به الرأس او الذيل , وسوف تتغير جميع الصفحات Smile . لنرى الان كيفية الادراج .


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

11- ادراج الملفات والدوال بأنواعها L11e2
قم بحفظ الملف الان بإسم ( word.php ) , افتح ملف جديد من محرر الاكواد واكتب التالي :

11- ادراج الملفات والدوال بأنواعها L11e3

لن تستغرب اذا كان ناتجنا هو التالي :

11- ادراج الملفات والدوال بأنواعها L11e4
اذن نستنتج ان الداله require تحتاج الى ملف لكي يكون مدخلها , وعندما ننفذ الكود فكأننا كتبنا التالي:

11- ادراج الملفات والدوال بأنواعها L11e5
يمكن ادراج اي ملف تريد بإي امتداد تريد , ولكن اسمع هذه النصيحه , وادرج دائما ملفات PHP او ملفات HTML , ولكن لا تنسى انه اذا كان الملف HTML فلن يتم تنفيذ كود PHP بداخله , يجب ان يكون PHP لينفذ. الان لنرى موقع الاعلى للشركه , وكيف سيتم الادراج , لاحظ الكود التالي :

الملف header.php
11- ادراج الملفات والدوال بأنواعها L11e6

الملف footer.php
11- ادراج الملفات والدوال بأنواعها L11e7


الملف main.php
11- ادراج الملفات والدوال بأنواعها L11e8
انقر على الصوره لتكبيرها


ارأيت الان ميزة هذه الداله ؟ واعتقد ان ميزة اعادة استخدام الكود اتضحت الان ايضا , وسوف تتضح لك اكثر في الدوال ( functions ) .


الداله include :
هذه الداله لها نفس عمل الداله require تماما , الفرق الوحيد بينهما , هو كيفية اخراج الخطأ , فلو اخطأت في الداله include فسوف يكون الخطأ هو تحذير ويكمل تنفيذ عمل الملف ( Warning ) اما اذا اخطأت في الداله require فسوف يكون الخطأ رئيسي ويتوقف عمل تنفيذ الملف اي الخروج من الكود كاملا ( Fatal Error ) , مثال على خطأ يمكن ان تقع به , ادراج ملف غير موجود , انظر الى الشكل التالي :

خطأ require :
اضغط على الصوره لتكبيرها

11- ادراج الملفات والدوال بأنواعها L11e9


خطأ include :
اضغط على الصوره لتكبيرها:

11- ادراج الملفات والدوال بأنواعها L11e10


ملاحظه : نستخدم الطريقه في الامثله اعلى اذا كان الملف يوجد في نفس المجلد , اما اذا كان في مجدل داخلي اسمه include فيكون كالتالي ( require('include/header.php') ) وهكذا دواليك , كأنك تتعامل مع اي برنامج اخر لتقوم بتحدد مكان ملف



لماذا احتاج الى الدوال ( functions ) :

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

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

رأيت كثيرا من الدوال خلال الدروس من الاول الى العاشر, منها PRINT ومنها SETTYPE ومنها GETTYPE ومنها REQUIRE و INCLUDE , اليس كذلك ؟ كتابة الدوال تكون كالتالي :

11- ادراج الملفات والدوال بأنواعها L11e11

اخطاء في مناداة الدوال :

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

11- ادراج الملفات والدوال بأنواعها L11e12

ويجب عليك وقتها ان تقوم بملاحظة شيئين , الاول : هل الدالة موجوده او غير موجوده , الثاني : اذا كانت الداله موجوده هل الاسم ممنوع استخدامه ؟ لانه من الطبيعي انه لا يمكنك انشاء داله يكون اسمها print لانها اساسيه في PHP

اسماء وحالات الدوال :

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


ولا تنسى ان اسماء المتغيرات تختلف , فالمتغير $name يختلف عن المتغير $NAME , فلا تقم بنسيان الدرس الثالث.

كتابة الدوال :
الان لنتعلم كيف نقوم بكتابة داله خاصه بنا , طريقة كتابتها هي كالتالي :

11- ادراج الملفات والدوال بأنواعها L11e13
الان لنقم بطباعة داله خاصه بنا , نريد ان نقوم بإنشاء دالة تقوم بطباعة العباره ( اهلا وسهلا بكم ) , افتح محرر الاكواد وقم بكتابة التالي :

11- ادراج الملفات والدوال بأنواعها L11e14
لاحظ ان العباره function يجب ان تقوم بكتابتها اذا اردت ان تقوم بإنشاء داله خاصه بك , وفي الكود بالاعلى لون العباره ( اسود ). هل تحتاج ان اقول لك كيفية استخدام هذه الداله ؟ اكيد انك تعرف , والطريقه هي كالتالي :

11- ادراج الملفات والدوال بأنواعها L11e15


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

عندما رأيت الداله include لاحظت انها تحتاج مدخل لكي تعمل بشكل صحيح , اليس كذلك ؟ واعتقد ان بعد الدوال التي سوف تقوم بإنشائها تحتاج الى هذه الخاصيه , اذن كيف تقوم بعملها , نفس طريقة الاولى والاختلاف فقط في التالي :

11- ادراج الملفات والدوال بأنواعها L11e16
الان تخيل , الداله التي قمنا بعملها , التي تطبع الكلمه اهلا وسهلا , تريد ان تقوم هذه الداله بطباعة اي جمله انت تقوم بإعطائها للداله , كيف تقوم بذلك ؟ لاحظ المثال التالي :

11- ادراج الملفات والدوال بأنواعها L11e17

طبعا هنا , اذا قمت بإستخدام الداله من غير كتابة مدخل , اي لم تقم بإعطائها قيمه , سوف يكون هناك خطأ , اذا هذه الطريقه يتوجب عليك ان تقوم بتحديد المدخل ايا كان نوعه , لو كنت تريد طباعة رقم سوف تستخدم نفس الدالة ولكن بدل العباره ( داله بها مدخلات ) تقوم بكتابة الرقم و مثال على ذلك ( sayWord( 15 ); ) وسوف تقوم بطباعة الرقم.
ماذا لو اردنا ان نجعل اكثر من معطى للداله ؟ هل يمكن ذلك ؟ نعم , اكتب في محرر الاكواد التالي :


11- ادراج الملفات والدوال بأنواعها L11e18

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

لم ننتهي بعد , هناك نقطه اخرى , ماذا لو اردت ان يكون احد المعطيات اختياري ؟ مثالنا في الاعلى يفرض علينا ان نقوم بإدخال عبارتين , ماذا لو اردنا ان نجعل عباره اجباريه والاخرى اختياريه , كيف يمكن عمل ذلك ؟ عن طريق تعيين قيمه افتراضيه للمعطى في الداله , اكتب في محرر الاكواد التالي :

11- ادراج الملفات والدوال بأنواعها L11e19
لنقم الان بعمل تطبيق صغير , في برنامجنا نريد ان يقوم بإدخال رقمين , ايا كانت , ونقوم بمقارنتها لنرى من الاكبر والاصغر , لنقم بذلك معا , افتح محرر الاكواد واكتب التالي :

11- ادراج الملفات والدوال بأنواعها L11e20
يمكن ان تستخدم العباره IF اوSWITCH او FOR او WHILE داخل الدوال , نصيحه : ( عاملها كأنها برنامج مصغر )
مرجعات من الدوال :
هناك نوعان من الدوال , نوع يقوم بإرجاع مخرجات , والاخر يقوم بإرجاع بيانات , سوف نعرف الان النوع الاول , ماذا نعني بإرجاع مخراجات ؟؟؟ كما عملنا في المثال التطبيقي , يكون ارجاع الداله مخرجات اذا كان هناك العباره echo او العباره print او كود HTML

ارجاع بيانات من الدوال :

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

11- ادراج الملفات والدوال بأنواعها L11e21

ولو اردنا ان نقوم بطباعة العدد الى المتصفح سوف نقوم بالتالي :

11- ادراج الملفات والدوال بأنواعها L11e22


استخدام ادراج الملفات مع الدوال :

الان بعد هذا الدرس الطويل جدا , وهذا الكلام الكثير , واعتذر ان قد جئت لكم بالملل Smile , ماهو رابط الادراج مع الدوال ؟ الجواب هو التالي : نقوم بجعل جميع دوالنا في ملف لوحدها , ثم نقوم بإدراج هذا الملف الى الملف الرئيسي ونقوم بإستخدام الدوال , لنأخذ مثالا على ذلك , قلنا في البدايه ان نجعل رأس الصفحه في ملف وذيل الصفحه في ملف ثم نقوم بإدراجهما الى صفحاتنا اليس كذلك ؟ هناك طريقه اخرى نستطيع عملها , نقوم بعمل داله جديده اسمها header( $title ) وداله اخرى اسمها footer() ونضع كود HTML داخلها , ونحفظها في صفحه اسمها output.php , وفي كل صفحه نقوم بإدراج الملف output.php ثم نستخدم الدوال التي قمنا بعملها Smile . دعني اقوم بطرح مثال اخر , لقد قمت بعمل دوال كثيره ودائما تقوم بحفظها في ملف , وتعلم انك قد تحتاجها في برامجك الاخرى او في اماكن اخرى , فتقوم بإدراج هذا الملف , واعادة استخدام هذا الكود مره اخرى , من غير ان تقوم بكتابة الكود او تقوم بأي مجهود اخر , ولكن اذا كنت تتبع هذه الطريقه فلا تقم بنسيان كتابة التعليقات , حتى لا تنسى عمل دوالك الخاصه


سؤال على الدرس :

1 - قم بعمل مقارنة بين عددين تقوم بإدخالها ( الداله ترجع العدد الاكبر ( لا تطبع ) ) , اذا نسي المستخدم كتابة احد الارقام , فقم بإستخدام قيمه افتراضيه , واذا قام بإدخال كلمه بدل ارقام , تقوم الداله بطباعة ( الرجاء ادخال رقم وليس حرف )

2 - قم بعمل نموذج المعلومات الشخصيه بإستخدام الدوال الخاصه , ادراج الملفات , واترك لك الحريه للتفكير في الطريقه

الـــدرس الــقادم :

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


انثى
عدد الرسائل : 5392
العمر : 35
تاريخ التسجيل : 26/10/2007

11- ادراج الملفات والدوال بأنواعها Empty
مُساهمةموضوع: رد: 11- ادراج الملفات والدوال بأنواعها   11- ادراج الملفات والدوال بأنواعها Icon_minitimeالأربعاء مايو 06, 2009 8:19 am

شكرا على مجهودك يا زائر
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
11- ادراج الملفات والدوال بأنواعها
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: الكمبيوتر والإنترنت :: الويب :: PHP :: اقوى دروس تعليم برمجة الــ php-
انتقل الى: