دورة PHP الجزء 2

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

أساسيات PHP

تعرفنا على الأمر echo و print في الجزء الأول من الدرس وهما أمر طباعة النص في الصفحة.

الآن سنتعرف كيف نقوم بالتعامل مع شيء يسمى متغير وبالإنجليزي (Variable) هذا المتغير هو مخزون بيانات أي أنه يقوم بتخزين البيانات فيه, لحسن الحظ أن المتغيرات في PHP لا يشترط بتعريف نوع البيانات التي سيتم تخزينها في المتغير حيث أن لغات البرمجة المختلفة تشترط عند تعريف متغير أن يتم تحديد نوعه مثلاً هل هو متغير نصي أو متغير رقمي أو متغير من أي نوع آخر,

إنشاء/تعريف متغير

طريقة إنشاء أو تعريف متغير في الـ PHP سهلة جداً فقط أكتب $ ثم اسم المتغير الذي تريد تعريفه ومن ثم نعطيه القيمة التي نريد تخزينها فيه.

<?php
$welcome = "مرحباً بك في عالم التقنية" ;
$name = "عبدالملك الثاري" ;
?>

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

ولكن مع هذا الكود البسيط فهناك عدة ملاحظات وعدة شروط :

الملاحظات :

  • المسافات بين الأوامر لا يتم إعطائها أي اهتمام من قبل PHP فمثلاً لو كانت المسافات كبيرة أو صغيرة بينهم فلا تفرق
  • بالإمكان جعل الكود السابق في سطر واحد بسهولة ودون أن يتأثر الكود منطقياً وطبعاً لكن يفضل جعله بشكل مرتب وجميل لتطويره لاحقاً وفهمه بسهولة
  • هناك فاصلة منقوطة تجدونها في آخر كل أمر وذلك يعني نهاية هذا الأمر
  • لم نقم بطباعة أي شي فلو استعرضنا الصفحه في المتصفح فستكون صفحة بيضاء, ولكن تم حفظ في الذاكرة قيمة متغيرين يمكننا الاستفاده منهما لاحقاً
  • العلامة “” تعني أن القيمة التي بداخلها نصيه ويمكن كتابتها ‘هكذا’ وحتى لو كانت أرقام كهكذا “123” فهي تزال قيمة نصية

الشروط :

  • اسم المتغير يجب أن يبدأ بحرف أو _ فلا يبدأ برقم أو رمز.
  • اسم المتغير يمكن أن يحتوي فقط على الحروف الإنجليزية أو الأرقام أو _
  • اسم المتغير يجب أن لا يحتوي على مسافات

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

<?php
$welcome = "مرحباً بك في عالم التقنية" ;
$name = "عبدالملك الثاري" ;
echo($welcome . " مع أخوك الكاتب / " . $name);
?>

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

<?php
$welcome = "مرحباً بك في عالم التقنية" ;
$name = "عبدالملك الثاري" ;
echo($welcome);
echo(" مع أخوك الكاتب / ");
echo($name);
?>

ولكن وفرنا ذلك بكتابته بصورة جميلة وواضحة في سطر واحد.

وستكون نتيجة الكود السابق هي :

مرحباً بك في عالم التقنية مع أخوك الكاتب / عبد الملك الثاري

الآن كنا نطرح أمثلة على النصوص وسنطرح حالياً عن الأرقام وكيفية التعامل معها.

يتم إعطاء قيمة المتغير رقم وذلك بدون العلامة “” أي كالتالي :

<?php
$num1 = 100;
$num2 = 200;
echo ( $num1 + $num2 );
?>

تم استخدام العلامة + وهي علامة حسابية وذلك لنقوم بعملية حسابية فستكون النتيجة 300 فلو كتبنا بدل علامة الجمع علامة نقطة فسيتم جمع المتغيرين بالطريقة التالية 100200 وليست عملية حسابية بوجود العلامة الحسابية

والعلامات الحسابية يمكنك معرفتها من خلال الجدول التالي :

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

التعليقات/الملاحظات :

يمكننا كتابة ملاحظات على نفس الكود البرمجي باستخدام العلامات التالية :

<?php
$num1 = 100; // الرقم الأول
$num2 = 200; // الرقم الثاني
/* الكود التالي يقوم بعملية حسابية
وهذه الملاحظة يمكن كتابتها في أكثر من سطر
سطرين ثلاثة وأربعة وحتى يتم إغلاقها كالتالي */
echo ( $num1 + $num2 ); // الناتج 300
?>

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

نكتفي بهذا القدر اليوم, في الدرس القادم سيتم شرح طريقة التحكم عن طريق أوامر أكثر منطقية مثل If..Else.. و While و For و غيرها لنقوم بالتحكم بالكود بالبرمجة بشكل قوي وممتع.

نلقاكم في الدرس القادم بإذن الله, وإذا كانت هناك أي استفسارات في هذا الدرس نرحب بها, وشكراً لكم 🙂 .

  • المعتصم بالله

    جزاك الله خيراً …وبارك الله فيك

  • Vexard

    مشاء الله اداء رائع وسرعة ملحوظة
    موفق باذن الله فى تقديم باقى الدروس وفى انتظار المراحل الاخيرة 🙂
    تسلم ايدك استاذ عبد الملك 😉

  • sultan

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

    • Vexard

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

    • موجوده الأمثله يالغالي فوق تقدر تجرب الأمثله الموجوده,

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

  • م.عبدالله

    جزاك الله خيرا أخي عبدالملك
    درس جميل وواضح

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

    هل يكفي ان نكتب
    num1+num2*2

    أو انه يجب كتابتها
    num1+num2)*2)

    الذي اعرفه في اللغات الاخرى ان هنالك ترتيب عند المعالج فمثلا سوف يبدا بالضرب ثم القسمه ثم الجمع …..وهكذا

    هل هي نفس الطريق متبعه في php

    شكرا جزيلا لك

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

      شكراً لك على الإضافة الجميلة.

  • جزاك الله خيرا..

    وأجعله في ميزان حسناتك إن شاء الله ..

    وبإنتظار الدرس الثالث ، وإن امكن أن تُبلغنا بالبريد الإلكتروني نكون شاكرين لك

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

  • وليد السودي

    تسلم يا طويل العمر …
    الله يجزاك خير …درس سهل وخفيف ..

  • فواز

    يعطيك العافيه على الشرح الوافي

    لكن عندي سؤال اذا تابعنا الدوره نقدر نبرمج سكربت العادي بدون اي مشاكل

    وشكراً لك على المجهودي الطيب ..

  • م.عبدالله

    بارك الله فيك اخي عبدالملك واخي Q8Developer

    بالنسبة لترتيب العمليات التي يقوم المعالج بالتعامل معها فهي كالتالي بالترتيب

    هذا في لغة السي فهل ينطبق نفس الترتيب على php
    ()
    *
    /
    %
    +
    _
    >
    =>
    <
    =<
    ==
    =!
    =

    • مرحبتين أخو م.عبدالله

      لست متأكداً ولكن حسب ما اقوم بتنفيذه وحسب تجربتي له قبل قليل فهذا الترتيب الذي حصلت عليه

      ()
      /
      *
      %
      +
      _
      >
      =>
      < =< == =! = حيث حسب ما ظهر لدي بأن القسمة قد كانت قبل عملية الضرب, لكني لست متأكد سأقوم بإذن الله بالتأكد منها ولو كان هناك اي احد يمكنه افادتنا يسعدنا ذالك

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

  • بارك الله فيك يا استاذ عبدالملك
    درس رائع ومبسط بإذن الله هيتم التطبيق وهقولك النتيجه
    تحياتى ليك 🙂

  • تسلم على المعلومات القيمة …

    لدي اقتراح ممكن يساعد الجميع وبالأخص محبي الووردبريس … يا ليت يتم ربط بعض من الشرح مع اكواد قوالب الووردبريس البرمجية .. لكي تكسب محبي الووردبريس إلى الدورة ..

  • شرح رائع ماشاءالله

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

  • abdulaziz alrobai

    شكراً اخي درس جيد ومفيد
    ولله الحمد فاهم
    يحياتي …..

  • محمود سيد

    السلام عليكم ورحمة الله وبركاته

    مجهود ممتاز بارك الله فيكم وربنا يعينكم لانتهاء الدوره

    بس يا ريت اخي توضحلنا مشكورا

    1- عدد أجزاء الدوره
    2- ميعاد صدور كل جزء

    ومشكور ليكم جدا مباركين باذن الله

    في حفظ الله

  • Tranim

    شكرا جزيلا لكم
    بنتظار الدرس القادم
    دمتم بخير

  • عبدالرحمن أبودان

    الله يعطيك العافية

    وانت طبقت الحديث الشريف

    ( خيركم خير لأهله )

    الله يجزاك خير ويكثر من امثالك

  • شكراً للجميع على المرور الطيب

  • وائل

    يعطيك العافية أخوي وبصراحة جهد رائع جدا

    تواجهني مشكلة وهي أني لا أرى أي كود في هذا الدرس
    بل يظهر كلامك سردا فما الذي بحصل؟ O_o

    شكرا لك 🙂

  • مجهود كبير
    جزاك الله خيرا

    لكن اوجه مشكلة مثل الاخ وائل
    لا ارى اي كود !

  • Hosam

    أنا عندي كل ما حضرتك تكون كاتب مثال بعد : لا يظهر عندي !! كأنه أبيض علي خلفية بيضاء !!!!

    لهيك انا مش فاهم شئ من الدرس !!

  • سيتم معالجة المشكلة كما تم معالجتها في درس XHTML و CSS , المشكله من موفر عرض الأكواد للأسف, فتم الاستعانه بإضافه تعرض الأكواد بشكل مميز كما تم تعديله في درس XHTML و CSS

    ارجوا الانتظار ليتم حلها وشكراً لكم 🙂

  • عبدالله

    يا ليت لو تحطونه بملف بي دي اف عشان نستفيد

    يعطيكم ألف عافية

  • محمود سيد

    ليه اخوي ما رديتم على مشاركتي واستفساري المشاركه رقم 15

    مشكورين

  • أبوعبيد

    متابع ،،

    الله يعطيك العافية

  • الله يجزاك الجنة يا عبدالملك .. بإنتظار الدرس القادم

  • abdulaziz alrobai

    شكرا على الدرس
    ممكن معرفة اوقات طرح الدروس
    متابع جيد لكم…..

  • ما شاء الله عليكم
    متابع مهكم الدروس

  • عبدالله الزهراني

    طرح جميل وسهل وسلس في نفس الوقت

    جزآك الله خير أخوي عبدالملك عن كل حرف تكتبه ،

    متآبع لكـ

  • مشكور اخى عبد الملك على الشرح المبسط والرائع

  • الفردوس

    جزاك الله خيرا أخي الكريم………. دروس رائعة جداااااااااااا

    ودائما زيدنا من عطائك …. زادك الله من عطائه وعلمه

  • Candy Shop

    عندي سؤال بسييط
    لماذا لم نضع في البداية ?>
    وفي النهاية <? كما في الدرس الاول
    بل وضعنا في البداية <?php
    و في النهاية ?>
    مع اني جربت الطريقتين و طريقة الدرس الاول هي التي تعمل فقط
    فما الفرق بينهما ام ان الطريقة الثانية مجرد خطا مطبعي
    مع كامل شكري لك اخ عبدالملك

  • mohamed

    شكرا لك على الدرس الرائع

  • ابراهيم الزعبي

    شكرا أخي

  • شكرا جزيلا أخي .. مشكور على مجهوداتك الجبارة
    وفقك الله لما تحبه و ترضاه

    تابع إبداعاتك

تعليقات عبر الفيسبوك