المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : نفسك تبقى محترف php اتفضل اكبر دوره على مستوىالمنتديات



walid_8281500
03-19-2009, 10:57 PM
تعتبر لغة PHP من اقوى اللغات الحاليه واسرعها , وتعتبر المفضله عند كثير من المبرمجين لسهولتها وبساطه التعامل معها, في هذا الدرس سوف نتعلم المفاهيم الاساسيه عن هذه اللغه , ومظاهر قوتها وبعض توضيحات القاء الدروس لان هذا الدرس يعتبر البدايه والانطلاقه لنتعلم معاً


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

في هذا القسم سوف تتعلم لغة PHP بالكامل وسوف تشمل جميع ما تحتاجه لتعلم هذه اللغه



متطلبات قبل كل درس

نقاط توضيحيه واهداف الدرس

الدرس بالكامل

اسئله على الدرس

الدرس القادم

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

متطلبات قبل البدأ بتعلم لغة PHP :

معرفة شبه تامه بلغة HTML

الاخلاص في التعلم

عدم التوقف بعد الانتهاء التعلم وانما البحث عن الجديد ومحاولة التطوير الدائم للمهارات

توفر بعض مهارات اللغه الانجليزية وذلك لان بعض المصطلحات يصعب ترجمتها الى العربية , او معناها العربي لا يؤدي الغرض

نقاط توضيحيه عن دروس PHP :

لماذا تتعلم معنا ؟

ما مقدار الاستفاده من تعلم PHP معنا

ماهي لغة PHP ؟

قوة لغة PHP


--------------------------------------------------------------------------------

لماذا تتعلم معنا ؟

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

مقدار الاستفاده من تعلم PHP معنا

تعلمك معنا سوف يتيح لك بناء مواقع حقيقه وممتازه وسوف نحاول ان نقوم بتغطية جميع ما يتعلق بهذه اللغه. اذا استخدمت لغة HTML من قبل فمن المؤكد انك لاحظت عدم ديناميكية الصفحات ولكن مع PHP سوف تلاحظ الفرق, وبعد الانتهاء من الدروس بالكامل سوف نقوم بعمل تطبيقات حقيقه يتم تقريرها لاحقا.

ماهي لغة PHP ؟

PHP عباره عن لغة تسمى ( Server Side ******ing Language ) ونعني بذلك انها تترجم من جهة الخادم وليس من جهاز المستخدم. لنضرب مثالا واقعيا على ذلك , عند الدخول الى الدردشه يجب عليك ان تقوم بتحميل (( **** VM )) على جهازك لتتمكن من الدخول ولكن اذا قمت بزياره اي موقع يستخدم لغة PHP فلن يكون هناك حاجه لتنصيب او تحميل اي برامج مساعده. فما وراء الكواليس كله يحصل في الخادم (( Server )), صممت هذه اللغه خصيصا للمواقع. ومن ضمن صفحات HTML يمكنك ادراج لغة PHP بداخلها لكي تنفذ في كله مره قمت بزياره الصفحه.
بدأت لغة PHP بمجهود شخص واحد يسمى ( Rasmus Lerdorf ) في سنة 1994 ومرت بثلاث مراحل جذريه لنرى ماهي عليه الان, حتى انه في سنة 2002 كان عدد المواقع التي تستخدمها اكثر من 9000000 (( تسعة مليون )) موقع. PHP لغة برمجة متاحه للكل لتطويرها او العمل عليها وهذا ما يسمى ( Open Source ). قديما كان اختصار PHP هو ( Personal Home Page ) ولكن تغيرت الى الاسم الحالي ( Hyper**** Processor ). النسخه الحاليه للغة PHP هي 5 وقد حصل بها تطور كبير وتغيرات جذريه كبيره واصبحت اقوى بكثير من ما هي عليه الان.
http://prog.arccn.net/images/php/l1e1.gif

( مثال 1 : لاحظ انك لا تحتاج الى مترجم PHP على جهازك الشخصي )


قوة لغة PHP :

سوف اقوم بذكر قوة لغة PHP على شكل نقاط وسوف نتكلم عن كل نقطه بالتفصيل

الاداء العالي

تعتبر اللغه جدا مميزه وفعاله , حتى مع دعمها بتقنيه ZEND اصبحت اقوى , بحيث يمكن ان تتحمل ملايين الاوامر في اليوم الواحد


دعمها لعدد كبير من قواعد البيانات

تدعم لغة PHP عدد كبير من قواعد البيانات منها MySQL و mSQL و Oracle و DBM و وغيرها الكثير


الدوال الداخليه او ( Built-In Library )

تحتوي اللغه على كثير من الدوال الجاهزه للاستخدام , ومسهله بطريقه كبيره , بحيث يمكن من سطرين برمجيين او ثلاث من انشاء صوره من غير استخدام اي برنامج تحرير رسومي


القيمه

اللغه مجانيه ولا يوجد اي مبلغ تقوم بدفعه لتحميلها ويمكنك تحميل اللغه من موقعها الرسمي http://www.php.net (http://www.php.net/)


التعلم

تعلم اللغه سهل وهو مبني على لغة PERL و C و **** فإذا انت تعرف احدها , فتأكد انك سوف تختصر كثير من الوقت للتعلم



--------------------------------------------------------------------------------


اسئله على الدرس :

ماهو الاسم القديم للغة PHP وماهو الاسم الحالي ؟

من هو مخترع هذه اللغه ؟

اذكر مظاهر قوة لغة PHP ؟

اذكر 4 من قواعد البيانات التي تدعمها لغة PHP ؟


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

سوف نتعلم في الدرس القادم كيفة تنصيب خادم شخصي و لغة PHP و قواعد بيانات MySQL على جهازك وربطها مع بعضها البعض
*******************************************

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


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

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

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

تحميل لغة PHP وخادم شخصي وقواعد بيانات MySQL

تحميل محرر مناسب لكتابة البرامج بلغة PHP

اهداف الدرس:

تنصيب لغة PHP وسيرفر Apache و قواعد بيانات MySQL

أختيار محرر مناسب للكتابه

كتابة اول برنامج PHP

وسوم الكتابه في PHP

الطباعه للمتصفح في PHP

دمج PHP مع HTML

التعليقات


--------------------------------------------------------------------------------

تنصيب لغة PHP و الخادم الشخصي Apache و قاعدة البيانات MySQL:

هل تذكر عندما قلنا ان لغة PHP تحتاج الى مترجم لكي يقوم بمعرفة ما يقوم به الكود في الدرس الاول ؟ في هذه النقطه سوف تعرف كيف يتم تنصيب مترجم PHP , ولكن لا يستطيع مترجم PHP العمل بمفرده , لانه يحتاج الى خادم شخصي يكون به المترجم ليظهر المعلومات الى المتصفح , ولهذا سوف نقوم بتركيب Apache وهو يعتبر من افضل الخوادم الشخصيه الموجوده , لكي تقوم بإنهاء عناء تركيب هذه البرامج قامت مجموعه Appserv Network بعمل برنامج يقوم بتنصيب PHP و Apache و MySQL معاً , وحجم الملف صغير جدا مقارنة بتحميل كل برنامج على حده, لكن شرح تركيب هذا البرنامج هنا خارج عن نطاق موضوعنا ولذلك سوف تجد في مكتبة البرامج وصلة تحميل برنامج appserv و ايضا سوف تجد شرح خارجي لطريقة تركيب برنامج Appserv .



اختيار محرر مناسب لكتابة اكواد PHP :

يوجد كثير من البرامج لكتابة اكواد PHP ولكن لا اتحيز الى واحد منهم بشكل معين , انت كمبتدئ تحتاج الى ان تكتب الكود البرمجي بإستخدام احد هذه البرامج لانها تساعد على تتبع الاخطاء وترتيب الكود البرمجي وتلوينه , وهذا يساعد كثيرا في البرمجه , لمشاهدة هذه البرامج اذهب الى صفحة برامج تحرير لغة PHP .



كتابة اول برنامج PHP :

هل انت مستعد ؟ هل قمت بتنصيب برنامج AppServ واخترت محرر كتابة الاكواد المناسب من مكتبة البرامج ؟ اذن لنقم بكتابة اول برنامج PHP . قم بفتح محرر الاكواد وابدأ بإنشاء صفحه جديد وقم بكتابة الكود التالي :
http://prog.arccn.net/images/php/l2e1.gif
قم بحفظ البرنامج وقم بتسميته الى first.php في ملف www واذا كنت اخترت المكان الافتراضي لتنصيب AppServ سوف يكون مكان وضع الملف هنا C:/AppServ/www بعد ذلك اذهب الى متصفحك واكتب التالي http://localhost/first.php وسوف تشاهد التالي :
http://prog.arccn.net/images/php/l2e2.gif



مبارك لك , لقد قمت بكتابة اول برنامج PHP واصبح اسمك مبتدئ PHP او مبرمج مبتدئ للغة PHP

وسوم الكتابه في لغة PHP :

هناك كثير من وسوم الكتابه في لغة PHP , ونعني بوسوم الكتابه المكان الذي يكون يبدأ معه كتابة الكود والمكان الذي ينتهي معه , انظر الى الصوره الاولى في الاعلى وسوف تجد ان وسم بداية الكتابه هو
<?php
ونهاية الكتابه هو
?>
هل عرفت الان معنى وسوم الكتابه ؟
تلميح : (( وسوم = tags ))





فهمت النقطه الى الان ؟ اذن لنقم بتطبيق هذه الوسوم على برنامجنا الاول , لنرى كيف تعمل , ولكي تعرف ماهي افضل طريقه احببت في كتابة الوسوم http://traidnt.net/vb/images/smilies/cupidarrow.gif



النمط الافتراضي :


http://prog.arccn.net/images/php/l2e1.gif
النمط القصير :
http://prog.arccn.net/images/php/l2e3.gif
نمط ****** :
http://prog.arccn.net/images/php/l2e4.gif
هل قمت بإختيار النمط المريح لك ؟ اذن انتهينا من الجزء الثاني من درس اليوم http://traidnt.net/vb/images/smilies/cupidarrow.gif , هل انت مستعد و مندفع للمتابعه ؟ اذن سوف نبدأ النقطه ( الخامسه لهذا اليوم )



الطباعه للمتصفح في PHP:

اعتقد انك قمت بالتركيز في الشرح بالاعلى وقلت لنفسك ( انا اعرف كيف اطبع للمتصفح ) , نعم انت تعرف , نفسها كلمة print() هي للطباعة في المتصفح , ولكن ما هي print() , هذه الداله داخليه في PHP اي موجوده في المترجم وتستطيع استخدامها , نقوم في معظم الحالات بطباعة مخرجات الى المتصفح , قد تتسائل ماهو معنى كلمة داله ؟ اليس ذلك صحيح ؟ اذن داله تعني ( امر يقوم بفعل شي معرف مسبقا بداخله ) لم تعرف ما اعني ؟ لا تتعجل سوف تقوم بفهم هذا كله لاحقا وفي دروس متقدمه , ودائما المدخلات الى الدوال تكون بين الاقواس كما تشاهد في اول برنامج لك , في حالتنا بالاعلى قمنا بطباعة نص اليس ذلك صحيحا ؟ اذن يجب ان نضع النص بين علامتي التنصيص " نص معين " والا سوف يكون هناك خطأ , اذا ماذا لو اردنا ان نقوم بطباعة رقم ؟ الجواب هو ان نقوم بطباعته بدون علامتي التنصيص. ولا تنسى ان تقوم بإنهاء كل سطر في كودك البرمجي بعلامة ; ولا سوف يكون هناك خطأ , لمذا نحتاج هذه العلامه ؟ لكي نقول للمترجم ان هنا ينتهي طلب هذا الامر وقم بتنفيذه.



دمج PHP مع HTML:

الكود البرمجي الذي قمنا بكتابته في الاعلى , عباره عن PHP فقط ويسمونه باللغه الانقليزيه (( pure php )) == (( مجرد PHP )) ولكن لو اردنا ان نجعل معه بعض من اكواد ال HTML ؟ الجواب بسيط جدا , وهو ان نقوم بكتابة كود ال HTML قبل وبعد وسوم البدايه والنهايه في PHP , اليك مثال يوضح لك الصوره , لنقم بكتابة البرنامج بالاعلى بطريقه اخرى:
http://prog.arccn.net/images/php/l2e5.gif

لن اقوم بشرح كود ال HTML هنا , لاني اعتقد ان عندك خبره او معلومات سابقه عن HTML , اما اذا لم تعرف فالامر بسيط انظر الى مخرجات هذا الكود , ومخرجات الكود في المثال الاول (( بدون دمج مع لغة PHP )) وسوف تلاحظ الفرق. وتذكر انه يمكن اضافة العدد الذي تريد من هذه الاكواد , لا يوجد هناك عدد محدد , فقط اكمل الدرس هذا اليوم وقم بعمل صفحه خاصه بك بهذه الطريقه (( الدمج )) وسوف تشعر انك مبرمج حقيقي. هل انت مصر على معرفة معنى الكود ؟ اذن سوف اشرح لك بطريقه بسيطه , في هذا الكود لاحظ ان الجمله ظهرت بخط عريض وذلك لاستخدامنا لكود HTML الذي تلاحظه في المثال <b> و </b> ووضعنا بين هذا الكود سطر لغة PHP ليطبع الجمله , والناتج الجمله بخط عريض. هل تريد ان تعرف كيف يكتب هذا الكود بلغة HTML , اذن لاحظ التالي :
http://prog.arccn.net/images/php/l2e6.gif

اعتقد انه الان قد وضحت لك الصوره بالكامل http://traidnt.net/vb/images/smilies/cupidarrow.gif



التعليــقات:

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

سطر واحد :

// this is a comment

او

# this is a comment


عدة اسطر :

/*
this a comment
i am learning php
i love it
*/

لا داعي للقلق اذا لم تفهم هذه النقطه , مع الدرس القادمه سوف تعرف معنى استخدام التعليقات وفوائد استخدامها بشكل مفصل




--------------------------------------------------------------------------------



اسئـــله على الــدرس:

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

لماذا تحتاج ان تقوم بإستخدام التعليقات ؟

قم بكتابة برنامج PHP يقوم بطباعة اسمك الاول بخط عريض في سطر واسم والدك في سطر اخر بخط مائل واسم عائلتك بخط عادي في سطر ثالث. (( يمكنك ان تجرب كتابة الارقام وتليون الاكواد )) تلميح : استخدم برنامج Front Page للمساعده ;)




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

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

ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف نقوم بالتالي....


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

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

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

مراجعة الدرس الاول : اول برنامج PHP

اختيار محرر كتابة الاكواد المناسب

اهداف الدرس:

المتغيرات
انواع البيانات
الثوابت
المعاملات
ترتيب الاهميات

--------------------------------------------------------------------------------

المتغيرات :

ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف نقوم بالتالي:
$name = "احمد";

لكن يجب عليك الانتباه بأن اسماء المتغيرات في لغة PHP لها حدود, نعني بذلك انه يوجد اسماء واحرف غير مسموحه لتعريف المتغيرات, لنقوم بتسهيل الامر سنذكر المسموح منها وهو ( احرف ) و ( ارقام ) و ( _ ) فقط.
مثال على الاحرف : ( $name ) , مثال على الارقام : ( $223 ) , مثال على _ : ( $_name ) , ارأيت سهولة ذلك ؟ ولكن يفضل ان تكون الاسماء معبره لكي يسهل عليك كتابة البرنامج ويسهل على الغير فهم محتواه , فلو اردت ان تعرف متغير يحوي البريد الالكتروني فسوف يكون كالتالي ( $email ) او ( $user_email ) وليس من المنطقي ان يكون ( $2235 ) او ( $mobile ) على سبيل المثال. وتذكر ان يمكنك استخدام اي عدد من الحروف التي تريد , فهي ليست محدده

لو اردنا ان نقوم بتعريف متغير به القيمه 1 ومتغير اخر به القيمه 2 ماذا سوف نفعل ؟ سوف نقوم بتعريف المتغير الاول ( $number1 = 1; ) والمتغير الثاني ( $number2 = 2; ) , ماذا لو اردنا طباعته الى المتصفح , بكل بساطه نقوم بعمل التالي: ( print $number1; ) و ( print $number2; ) , لم تقتنع ؟ لم توضح الصوره ؟ مللت من الكلام ؟ لنقم بتسخين ايدينا قليلا وقم بفتح محرر الاكواد اليك وقم بكتابة الكود التالي :

http://prog.arccn.net/images/php/l3e1.gif
عند تنفيذ هذا الكود سوف يكون لدينا الناتج التالي :
http://prog.arccn.net/images/php/l3e2.gif
اذن في المتغير number1 قمنا بوضع القيمه 1 وفي المتغير number2 قمنا بوضع القيمه 2 ( بإستخدام العلامه = ) وقمنا بطباعة المتغيرات, فرأينا محتوى المتغيرات. اذن كأننا قلنا ( print 1; ) اليس كذلك ؟ لاحظ هنا ان السطور البرمجيه تنفذ سطرا سطرا , نعني بذلك اننا سنقوم بتنفيذ السطر رقم 3 ثم نقوم بتنفيذ السطر رقم 4. لكن قد تتسائل , فقط نستطيع ان نقوم بوضع قيم ؟ هل يمكن ان نضع متغير في متغير ؟ نعم يمكن ذلك بهذه الطريقه ( $number2 = $number1; ) ارأيت السهوله والبساطه في الموضوع ؟ وسوف يقوم بطباعة الرقم 1 . قلنا قبل قليل ان التنفيذ يكون سطرا سطرا اليس كذلك ؟ لنرى مثالا على ذلك , اكتب في محرر الاكواد التالي :
http://prog.arccn.net/images/php/l3e3.gif
قم بتجربة الملف ولاحظ الناتج , اذن لان الاوامر تنفذ سطرا سطرا لم يقم المترجم بطباعة القيمه 2 , لان اخر قيمة اسندت الى المتغير ( $number 2 ) هي قيمة المتغير ( $number1 ) , اعتقد ان الامر قد اتضح الان , لا تنسى ان اسماء المتغيرات حساسه لحالة الاحرف فالمتغير ( $number ) لا يساوي المتغير ( $Number ) .

انواع البيانات:

هل لاحظت في الامثله السابقه اننا قمنا بطباعة ارقام ونصوص, اليس كذلك ؟ ولكن ماهي انواع البيانات الي تأخذها المتغيرات وانواعها ؟ لدينا عدة انواع من المتغيرات الا وهي : ( نصوص = string ) , ( ارقام = integer ) , ( ارقام عشريه = Double ) , ( المتغير Boolean ) , ( مصفوفه = array ) , ( كائن = object ) , في بداية تعلمنا سوف نقوم بالتعرف على النصوص والارقم العشرية والمتغير Boolean , اما الاخري فسوف تكون في دروس متقدمه اخرى , لنأخذ امثله على هذه المتغيرات




لاحظ اننا عندما نريد طباعة نص يجب ان نقوم بوضعه بين علامتي التنصيص " " او ' ' اي واحد منهما تقوم بإختياره , ولكن اذا بدأت بواحد منهم يجب ان ينتهي النص بنفسه فلا يصح ان نقول ( "mohammad' ) ولكن الصحيح ( "mohammad" ) او ( 'mohammad' ) وضحت الصوره ؟
معلومه خارجيه : تسمى لغة PHP اللغه المسامحه ولذلك انك عند وضع القيمه داخل المتغير لا تحتاج ان تقوم بتحديد النوع , فإن المترجم يقوم بعرفة النوع من تلقاء نفسه , ماعليك فعله فقط ان تقوم بوضع علامة $ قبل اسم المتغير.

تخيل انك تريد معرفة نوع قيمة موجوده في متغير , ماذا يجب عليك ان تفعل , امر بسيط جدا وهو ان تقوم بإستخدام الداله gettype($var); وسوف تقوم هذه الداله بطباعة نوع المتغير الموجود لديك , لنأخذ امثله على ذلك , افتح محرر الاكواد وقم بكتابة التالي
http://prog.arccn.net/images/php/l3e4.gif

وسوف يكون الناتج كما يلي :



http://prog.arccn.net/images/php/l3e5.gif
****************************************

الدرس الثالث: المتغيرات , الثوابت و المعاملات

ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف نقوم بالتالي....


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

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

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

مراجعة الدرس الاول : اول برنامج PHP

اختيار محرر كتابة الاكواد المناسب

اهداف الدرس:

المتغيرات
انواع البيانات
الثوابت
المعاملات
ترتيب الاهميات

--------------------------------------------------------------------------------

المتغيرات :

ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف نقوم بالتالي:
$name = "احمد";

لكن يجب عليك الانتباه بأن اسماء المتغيرات في لغة PHP لها حدود, نعني بذلك انه يوجد اسماء واحرف غير مسموحه لتعريف المتغيرات, لنقوم بتسهيل الامر سنذكر المسموح منها وهو ( احرف ) و ( ارقام ) و ( _ ) فقط.
مثال على الاحرف : ( $name ) , مثال على الارقام : ( $223 ) , مثال على _ : ( $_name ) , ارأيت سهولة ذلك ؟ ولكن يفضل ان تكون الاسماء معبره لكي يسهل عليك كتابة البرنامج ويسهل على الغير فهم محتواه , فلو اردت ان تعرف متغير يحوي البريد الالكتروني فسوف يكون كالتالي ( $email ) او ( $user_email ) وليس من المنطقي ان يكون ( $2235 ) او ( $mobile ) على سبيل المثال. وتذكر ان يمكنك استخدام اي عدد من الحروف التي تريد , فهي ليست محدده

لو اردنا ان نقوم بتعريف متغير به القيمه 1 ومتغير اخر به القيمه 2 ماذا سوف نفعل ؟ سوف نقوم بتعريف المتغير الاول ( $number1 = 1; ) والمتغير الثاني ( $number2 = 2; ) , ماذا لو اردنا طباعته الى المتصفح , بكل بساطه نقوم بعمل التالي: ( print $number1; ) و ( print $number2; ) , لم تقتنع ؟ لم توضح الصوره ؟ مللت من الكلام ؟ لنقم بتسخين ايدينا قليلا وقم بفتح محرر الاكواد اليك وقم بكتابة الكود التالي :



عند تنفيذ هذا الكود سوف يكون لدينا الناتج التالي :



اذن في المتغير number1 قمنا بوضع القيمه 1 وفي المتغير number2 قمنا بوضع القيمه 2 ( بإستخدام العلامه = ) وقمنا بطباعة المتغيرات, فرأينا محتوى المتغيرات. اذن كأننا قلنا ( print 1; ) اليس كذلك ؟ لاحظ هنا ان السطور البرمجيه تنفذ سطرا سطرا , نعني بذلك اننا سنقوم بتنفيذ السطر رقم 3 ثم نقوم بتنفيذ السطر رقم 4. لكن قد تتسائل , فقط نستطيع ان نقوم بوضع قيم ؟ هل يمكن ان نضع متغير في متغير ؟ نعم يمكن ذلك بهذه الطريقه ( $number2 = $number1; ) ارأيت السهوله والبساطه في الموضوع ؟ وسوف يقوم بطباعة الرقم 1 . قلنا قبل قليل ان التنفيذ يكون سطرا سطرا اليس كذلك ؟ لنرى مثالا على ذلك , اكتب في محرر الاكواد التالي :



قم بتجربة الملف ولاحظ الناتج , اذن لان الاوامر تنفذ سطرا سطرا لم يقم المترجم بطباعة القيمه 2 , لان اخر قيمة اسندت الى المتغير ( $number 2 ) هي قيمة المتغير ( $number1 ) , اعتقد ان الامر قد اتضح الان , لا تنسى ان اسماء المتغيرات حساسه لحالة الاحرف فالمتغير ( $number ) لا يساوي المتغير ( $Number ) .

انواع البيانات:

هل لاحظت في الامثله السابقه اننا قمنا بطباعة ارقام ونصوص, اليس كذلك ؟ ولكن ماهي انواع البيانات الي تأخذها المتغيرات وانواعها ؟ لدينا عدة انواع من المتغيرات الا وهي : ( نصوص = string ) , ( ارقام = integer ) , ( ارقام عشريه = Double ) , ( المتغير Boolean ) , ( مصفوفه = array ) , ( كائن = object ) , في بداية تعلمنا سوف نقوم بالتعرف على النصوص والارقم العشرية والمتغير Boolean , اما الاخري فسوف تكون في دروس متقدمه اخرى , لنأخذ امثله على هذه المتغيرات

مثال الاسم
"Mohammad" string
123 Integer
1.23 Double
True / False Boolean

لاحظ اننا عندما نريد طباعة نص يجب ان نقوم بوضعه بين علامتي التنصيص " " او ' ' اي واحد منهما تقوم بإختياره , ولكن اذا بدأت بواحد منهم يجب ان ينتهي النص بنفسه فلا يصح ان نقول ( "mohammad' ) ولكن الصحيح ( "mohammad" ) او ( 'mohammad' ) وضحت الصوره ؟
معلومه خارجيه : تسمى لغة PHP اللغه المسامحه ولذلك انك عند وضع القيمه داخل المتغير لا تحتاج ان تقوم بتحديد النوع , فإن المترجم يقوم بعرفة النوع من تلقاء نفسه , ماعليك فعله فقط ان تقوم بوضع علامة $ قبل اسم المتغير.

تخيل انك تريد معرفة نوع قيمة موجوده في متغير , ماذا يجب عليك ان تفعل , امر بسيط جدا وهو ان تقوم بإستخدام الداله gettype($var); وسوف تقوم هذه الداله بطباعة نوع المتغير الموجود لديك , لنأخذ امثله على ذلك , افتح محرر الاكواد وقم بكتابة التالي



وسوف يكون الناتج كما يلي :



لاحظ ان المتغير $test نوعه NULL وذلك لاننا لم نقم بتعيين اي قيمه له , ومعنى NULL هو فراغ او لا شيء

ماذا لو اردنا تغيير قيمة متغير من نوع الى اخر , من integer الى string فمالذي نفعله ؟ نقوم بإستخدام الداله settype($var , new type ) لكي تقوم بالعمل المطلوب , لنأخذ مثالا لتوضيح الصوره
http://prog.arccn.net/images/php/l3e6.gif
والناتج هو :
http://prog.arccn.net/images/php/l3e7.gif

والبقية نفس المنوال , فقط قم بوضع المتغير , ثم ضع النوع المراد التحويل اليه

هناك طريقة اخرى لتغيير نوع المتغير وتسمى ( Casting ) وهي بالطريقة التاليه :
http://prog.arccn.net/images/php/l3e8.gif
قم بكتابة الكود وسوف ترى ان النتيجه نفسها نتيجة عمل settype( $var , new type ) والاختلاف الوحيد ان طريقة ( Casting ) لا تقوم بتغيير نوع المتغير الاساسي او فعليا , ولكن تقوم بوضع نسخه من المتغير وتقوم بتغييرها الى النوع المراد , ولكن على عكس الاخرى فهي تقوم بتغير النوع فعليا

هناك شي اخر وهو لو اردنا جمع متغيرين مع بعضهما البعض في سطر واحد , فسوف نقوم بإستخدام ( . ) , لم توضح الصوره وانا متأكد , لنأخذ مثال يبين لنا المعنى , افتح محرر الاكواد مجددا وقم بكتابة التالي :
http://prog.arccn.net/images/php/l3e9.gif
والناتج هو التالي:
http://prog.arccn.net/images/php/l3e10.gif

الثوابــــت:

رأيت في السابق اننا نقوم بإنشاء متغيرات ونقوم بتغيير انواعها والكثير من الامور ولكن يوجد لدينا الثوابت , ماهي الثوابت ؟ من الاسم يمكنك ان تستنج انه متغير ثابت ولا يتغير ابدا مهما حصل , قد تتسائل لماذا نحتاج الى هذه النوع من المتغيرات , والاجابه هي , تخيل ان لدينا اسعار بعض من منتجاتنا , وهذه الاسعار ثابته ولا تتغير ؟ فسوف نقوم بوضعها في الثوابت بالطريقه التاليه define( 'var' , value ) هل وضحت الصوره ؟؟ لنأخذها بالعربيه define('اسم المتغير' , القيمه ) , هل عرفت الان الطريقة ؟ لنقم ببعض الامثله ,تخيل انه لدينا مطعم ونبيع الببسي بثلاث انواع , صغير وقيمته ريال واحد , وسط وقيمته ريالان , كبير وقيمته 3 ريالات , قم بكتابة التالي ,
http://prog.arccn.net/images/php/l3e11.gif

والناتج هو التالي :



http://prog.arccn.net/images/php/l3e12.gif

الفرق بين المتغيرات والثوابت , هي انه عندما نريد ان نقوم بطباعة الثابت او استخدامه لا نقوم بوضع علامة $ في الثابت ابدا , وايضا من الاسماء الممنوع استخدامها في متغيرات لغة PHP الثوابت المعرفة في نفس اللغه , وهي ثابته ولا تتغير ولمشاهدتها قم بكتابة التالي في محرر الاكواد



http://prog.arccn.net/images/php/l3e13.gif
وقم بتشغيل الملف وشاهد النتيجه http://traidnt.net/vb/images/smilies/cupidarrow.gif . (( سوف تظهر لك صفحه يوجد بها اعدادات هذه اللغه , لا تهتم لها الان فقط انظر الى الثوابت Variables ))



المعامــلات:

لدينا ثلاث انواع من المعاملات في لغة PHP وهي المعاملات الحسابيه , معاملات المقارنه , المعاملات المنطقيه وسوف نتكلم عنها بالتفصيل

المعاملات الحسابيه

المعاملات الحسابيه الاعتياديه




معاملات حسابيه اخرى :





شيء مخيف اليس كذلك ؟ بالعكس انه سهل جدا , كأنك تقوم بتعلم الرياضيات للمرحله الاولى , لنقم بكتابة بعض الاكواد وسوف ترى كيفية سهولة الامر , افتح محر الاكواد ولنقم بعمل بعض من تمارين العمليات الحسابيه الاعتياديه :
http://prog.arccn.net/images/php/l3e14.gif

ارأيت سهولة الامر ؟ فقط عليك ان تقوم بذكر رموز العمليات وسوف يكون لديك الناتج , لنقم الان ببعض تمارين المعاملات الحسابيه الاخرى , قم بكتابة التالي :
http://prog.arccn.net/images/php/l3e15.gif

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

سوف نقوم الان بذكر معاملات المقارنه والمعاملات المنطقيه ولكن لن نقوم بعمل اي تمارين عليها , وذلك لانها سوف تستعمل في الدرس القادم

معاملات المقارنـــــه :



المعاملات المنطقية :



قد تتسائل لماذا يوجد لكل نوع اثنان من الاشكال ؟ والجواب سوف يكون في القسم التالي وهو ترتيب الاهميات



ترتيب الاهميــــات:

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

4 + 5 فماهو الناتج ؟؟؟ الناتج واضح وليس به اي غموض وهو 9
ولكن تخيل لو لديك العمليه التاليه 4 + 5 * 2 ؟؟؟ فما هو ناتج العمليه الحسابيه ؟ الجواب هو 14 , لان المترجم قرأ عملية الضرب اولا ثم عملية الجمع , ويمكن ان تقوم بإجبار المترجم على قراء عملية الجمع اولا بإستخدام الاقواس , مثال : ( 4 + 5 ) * 2 وسوف يكون الناتج 18 , في الجدول التالي سوف تقوم بمعرفة الاهميات وترتيبها وماهي المعاملات التي تنفذ قبل الاخرى ( من الاعلى الى الاسفل )



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




--------------------------------------------------------------------------------

اسئـــلة على الدرس :

اي من اسماء المتغيرات التاليه غير مسموح في لغة PHP :

$name

$22name65

$first name

$last-name

$______________ARCCN____________

2. ماهو ناتج العمليات التاليه :

4+5+6*(2*4)

2+9*8

3. قم بإنشاء متغير من نوع ( integer ) وقم بتحويله الى كل الانواع التي مرت عليك , مره بإستخدام الداله settype ومره بإستخدام ( Casting ) ولاحظ الفرق بينهما



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

سوف نقوم في الدرس القادم بالتعلم على الشروط في لغة PHP بالتفصيل , انواعها وطريقة كتابتها , واستعمالها مع المعاملات المنطقيه و معاملات المقارنه
****************************************

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


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

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

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

مراجعة الدرس الثاني: المتغيرات والثوابت والمعاملات

اهداف الدرس:

الطباعه بالعباره ECHO
العباره الشرطيه IF
العباره الشرطيه ELSE
العباره الشرطيه ELSEIF
استخدامات العبارات الشرطيه مع المعاملات المنطقيه ومعاملات المقارنه

--------------------------------------------------------------------------------

الطباعه بالعباره ECHO :

يوجد شبيه للعباره print وهي العباره echo وتقوم بنفس عمل العباره print تماما ولكن لسهولة لغة PHP , فهي تمكنك من اختيار اي طريقة تريد الطباعة بها الى المتصفح , لاحظ الامثله التي سوف تأتي بعد قليل ولاحظ اننا استخدمنا العباره echo بدل من العباره print ولكن كل منهما يؤدي نفس الغرض ولا يوجد اي اختلاف ابدا

العباره الشرطيه IF :

تخيل ان لديك برنامج صغير , ولا تريد ان يتبع هذا الرنامج طريق واحد , نعني بذلك انه لدينا حالات في هذا البرنامج , وكل حاله لديها خواصها وتنفيذات معينه خاصه بها, لنضرب مثالا على ذلك لتسهيل الامر , لنرجع الى مثالنا الاول , تخيل ان لدينا بقاله صغيره, ولدينا انوع من العصيرات كل عصير له سعره المعين , وكل عصير لديه احجام مختلفه , هل نحتاج لان نضع كل عصير في برنامج ؟ وهل لو فعلنا ذلك سوف يعتبر الطريقة الامثل ؟ طبعا لا , لكن بمجرد عباره صغيره تسمى IF نستطيع فعل ذلك كله , ولكي تقوم بإستيعاب ذلك بشكل صحيح ارجو منك قراء موضوع المتغيرات والثوابت لكي توضح الصوره. العباره IF هي عباره شرطيه , اي اذا تحقق الشرط المعين افعل كذا وكذا , واذا لم يتحقق افعل كذا وكذا , هذا هو درس اليوم واتمنى لك فرصه سعيده. مهلا , بقي الكثير , وبقي من المتعه طريق طويل , اكيد انك سألت كيف اقوم بكتابة العباره الشرطية , طريقة كتابتها كالتالي
http://prog.arccn.net/images/php/l4e1.gif

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



http://prog.arccn.net/images/php/l4e2.gif


ارأيت السهوله ؟ لاحظ اننا استخدمنا عامل المقارنه ( == ) الذي تكلمنا عنه في الدرس السابق , هذا معناه هل الطرف الايمن يساوي الطرف الايسر ؟ لا تنسى انه يختلف تماما عن العلامه ( = ) لوحدها , فالعلامه ( = ) معناها تعيين او تعبئة متغير بالقيمه الفلانية , ولكن ( == ) يستخدم لمقارنة الاطراف لنأخذ مثالا بطريقة اخرى , تخيل ان نود ان نعمل تخفيض 10 ريال لكل مشتري قام بشراء بمبلغ اكثر من 100 ريال ؟ فسوف يكون الكود بالشكل التالي



http://prog.arccn.net/images/php/l4e3.gif
الى الان كل شي واضح ؟ اذن تخيل لو كان التخفيض على علبة الزيت و يكون اجمالي السعر 100 ريال ماذا سوف نفعل ؟ شاهد التالي
http://prog.arccn.net/images/php/l4e4.gif

هل وضحت الصوره كامله الان ؟ اعتقد ذلك http://traidnt.net/vb/images/smilies/cupidarrow.gif. لاحظ انه لو لم يتم تحقق الشرط فلن يتم عمل شي , ولو جربت تشغيل الكود فلن يكون هناك مخرج على الشاشه لو لم يتحقق الشرط


العباره الشرطيه ELSE :

انتهينا من مسألة IF الشرطية , ولكن كل اللي قمنا بفعله محدود اليس كذلك ؟ نستطيع فقط التحكم في شيء واحد :( , لكن لا تقلق يوجد لدينا العباره ELSE وتعني اذا تحقق هذا الشرط قم بعمل التالي , واذا لم يتحقق قم بعمل التالي , اليس ذلك صحيحا واحتماله كبير ؟ ولكن كيف يتم كتابته ؟ نفس الطريقة الاولى مع اضافة بعض الاسطر البرمجيه لاحظ طريقة الكتابه التاليه:
http://prog.arccn.net/images/php/l4e5.gif
لنقم بتعديل كودنا الاول , انقوم بإخراجه بطريقة افضل من الاولى , اكتب في محرر الاكواد التالي :
http://prog.arccn.net/images/php/l4e6.gif



لاحظ ان المشتري عندما كان خياره ببسي , اجرينا التخفيض وغير ذلك لا نعمل له اي تخفيض , ولاحظ اننا استعملنا معامل المقارنه (( =! )) ويعني انه في حالة عدم طلب هذا النوع قم بالتالي .


العباره الشرطيه ELSEIF :

لنرجع الى تخيالاتنا وهي التي تقوم بكل النتائج , لو اردنا ان نجعل التخفيض في اكثر من جهة , مثلا لو قام المشتري بأختيار ببسي فله تخيض بالقيمه الفلانيه , ولو اشترى ميرندا فله تخيض بالقيمه الفلانيه واذا قام بشراء سفن اب فله التخفيض الفلاني , هل يمكننا عمل ذلك ؟ نعم عن طريق العباره ELSEIF واختلافها عن ELSE انه في ELSEIF يمكنك تحديد شرط ولكن ELSE عامه ولا يوجد بها شروط , تكون كتابتها كالتالي



http://prog.arccn.net/images/php/l4e7.gif
قم بفتح محرر الاكواد واكتب التالي :
http://prog.arccn.net/images/php/l4e8.gif
نستطيع ان نقوم بإستخدام ELSEIF بشكل لا نهائي , يعتمد على استخدامنا وما يتطلبه , ولكن ELSE فقط نستطيع ان نقوم استخدامها مره واحده لانها عامه (( لاحظ في مثالنا قمنا بإستخدام ELSEIF مرتان )) و العباره ELSE مره واحد فقط .

ملاحظه: يمكن استخدام عبارة IF وداخلها IF وداخلها IF واترك لك الباب مفتوح لكي تقوم بإستكشاف ما اعنيه من هذه الملاحظه http://traidnt.net/vb/images/smilies/cupidarrow.gif ( نفس الشيئ ينطبق على ELSEIF و ELSE )


--------------------------------------------------------------------------------

اسئـــلة على الدرس :

قم بتطوير بقالتنا الالكترونيه , بحيث انه اذا طلب المشتري مشروبات يكون له تخفيض معين على حسب المشروب الذي يقوم بشراءه ( ببسي , ميرندا , سفن اب ) , واذا قام بشراء غير ذلك فلا يوجد له تخفيض معين ( مساعده قم بإستخدام IF بداخلها IF وشروطها اللازمه )