Tuesday, July 6, 2010

[1] كتابة اول كود بلغة بي إتش بي

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

بعد ان تعرفنا في المقدمة على المتطلبات التي يجب توفيرها حتى تتعلم دروس البرمجة باستخدام لغة PHP بسهولة ويسر، اليوم سوف نتعرف على كيفية كتابة كودك الأول باستخدام لغة بي إتش بي، في البداية احب ان اذكر ان كل ما نقوم بكتابته يجب ان يتم حفظة داخل مجلد السيرفر الشخصي وان يتم استعراضه باستخدام رابط السيرفر الشخصي وهو امر بديهي يعرفه كل مطور ويب ( اذا كنت مستخدم لسيرفر AppServ فمسار المجلد هو C:\AppServ\www ان لم يكن قد قمت بتغييره  ).

الآن لنقم بكتابة الكود الأول …

كتابه أول كود بلغة بي إتش بي

الآن نقوم بإنشاء مجلد جديد بداخل مجلد السيرفر الشخصي باسم project ومن ثم نقوم بإنشاء ملف جديد باسم index.php

ملحوظة1: اسم المجلد ليس شرطاً وأيضاً اسم الملف، ويمكنك اختيار أي اسم تشاء.
ملحوظة2: اسم الملف يجب ان ينتهي بامتداد .php ولكي تقوم بإنشاء الملف قم بالضغط على المفتاح الايمن للماوس ومن ثم اختار New –> Text Document اذا ظهر لك ان اسم الملف هو New Text Document.txt فقم بإعادة تسميته إلى index.php اذا ظهر باسم New Text Document فقط فأنت تحتاج إلى ضبط الاعدادات لديك لكي يظهر امتداد الملف، اذا كنت مستخدم لويندوز أكس بي فالطريقة هيا Tools –> Folder Options –> View ثم قم بإزالة علامة الصح من امام Hide extensions for know file types، مستخدمي اللينكس ليسوا بحاجة إلى مثل هذه الاعدادات فافتراضي امتداد الملف يكون ظاهر.

الآن بعد ما أنشئنا الملف المسمى index.php نقوم الآن بفتحة باستخدام المحرر الخاص بك ونقوم بكتابة الكود التالي بداخلة:

PHP - 01

<?php
   
echo 'Hello, World!' ;
?>

- في السطر الاول قمنا بكتابة وسم/Tag الخاص بلغة PHP فمثلاً في لغة HTML يجب ان يبدأ الملف بالوسم <html> هذا بالضبط نفس الحال مع لغة PHP فأي ملف يجب ان يبدأ بكتابة <?php .

- في السطر الثاني قمنا بكتابة كلمة echo ثم اضفنا علامة تنصيص وكتبنا عبارة Hello, World! ثم اضفنا علامة تنصيص اخرى وانهينا السطر بعلامة ;

- في السطر الثالث قمنا بغلق الوسم الذي قمنا بفتحة في السطر الاول هذا الامر مشابه للأمر </html> في لغة HTML

 

الآن احفظ الملف وقم بالذهاب إلى الرابط http://localhost/project/index.php ماذا تلاحظ؟
ستلاحظ انه قد ظهرت لك جملة Hello, World! بدون اي شيء اخر وإذا استعرضت مصدر الصفحة فلن تجد ايضاً اي شيء آخر

دعني أعيد شرح السطر الثاني مرة آخرى،

عندما قمنا بكتابة كلمة echo فنحن نخبر مترجم اللغة بان النص الذي بين علامتي التنصيص يجب ان يقوم بطباعته على المتصفح، إذاً فعلامتي التنصيص تشيران إلى ان ما بداخلهم هم من نريد طباعتهم باستخدام امر echo، فما فائدة علامة ; ؟

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

 

كتابة الاكواد بالطريقة الغير قياسية

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

PHP - 02

<?php echo 'Hello, World!'; ?>

أو

PHP - 03

<?php echo "Hello, World!"?>

أو

PHP - 04

<?='Hello, World!'?>

هذه هي الطريقة المختصرة الغير قياسية لكتابة الاكواد، والتالي طريقة آخرى لكتابة الاكواد بشكل غير مختصر

PHP - 05

<?

    echo "Hello, World!";

?>

أو

PHP - 06

<?php

    echo 'Hello, World!'

?>

طرق مختلفة لطباعة نص بطريقة قياسية

PHP - 07

<?php
   
echo ( 'Hello, World!' );
?>

PHP - 08

<?php 
   
print ( 'Hello, World!' );
?>

PHP - 09

<?php 
   
print "Hello, World!";
?>

أسئلة شائعة وملاحظات

- يجب ان ان تتذكر علامة ;  مع نهاية كل سطر فهي شيء ضروري ولكن يمكن تجاوزها اذا كان السطر هو اخر سطر في الملف وليس هناك شيء بعده غير غلق الكود، ولكن في جميع الاحوال تجاوزها امر غير مستحب.

- علامة = تعادل امر echo في الوسوم القصيرة.

- الطريقة المختصرة او الوسوم القصيرة او Short Tags او كما تريد ان تطلق عليها؛ استخدامها غير مستحب وذلك لان بعض بعض السيرفرات ( نادراً ) تأتي غير مُفعل بها الوسوم القصيرة، وبذلك سوف تظهر اخطاء بالاسكربت، فتجنب استخدامها افضل ويمكنك استخدام الكود رقم 02 فهو ليس Short Tags بل هو كود قياسي مختصر بدون تنسيق.

- وسم بداية الملف يمكن كتابته <? او <?php ولكن كما ذكرت يجب عليك الالتزام بالقواعد الاساسية واستخدام الطريقة الموجودة في الكود رقم 01.

- حتى الآن ليس هناك آي فرق بين علامتي التنصيص الاحادية ' والثنائية "، ولكن سوف تتعرف على الفرق بينهم في الدروس القادمة بإذن الله.

- echo ليست داله كما يعتقد البعض ولكنها ( Language Construct )  مهمتها شبيهة بعمل الدوال وهي ليست الوحيدة المسئولة عن الطباعة على المتصفح، بل هناك غيرها ولكن كل واحدة لها استخدام معين، ولكن المشابهة لعملها بالضبط هي الـ print، ليس هناك فرق يذكر بينهم ولكن هناك اقوال ان الـ echo اسرع في عملها من الـ print

في النهاية

- اولاً اعتذر عن التأخر في نشر هذه التدوينه، وبإذن الله سأحاول ان تكون هناك من تدوينه إلى ثلاث تدوينات اسبوعياً.

- ثانياً افكر ان يكون هناك بعد كل درس غرفة نقاش مباشرة نُنقاش فيها موضوع الدرس او ايضاً الاجابة على اي سؤال او مناقشة فكرة مشروع ما وما إلى ذلك، فما رأيكم في هذا الموضوع وما هو الوقت المناسب لك حتى تستطيع حضور المناقشة؟

4 comments:

  1. جميل سأقوم بتطبيق الدرس حالما اعود للمنزل ;)
    موفق إن شاء الله ;)

    ReplyDelete
  2. جميل الشرح تم التطبيق فكرة المناقشة جميلة افضلها باليل ..

    ReplyDelete
  3. تم التطبيق
    و اشكرك على بساطه شرحك لتوصيل المعلومة

    ReplyDelete
  4. شكرا على الدرس الاول وفى انتظار باقى دروسك
    مصرواى

    ReplyDelete