-->

تقنية ، إنترنت ، برامج ، إسلامية ، إقتصادية ، إجتماعية ، تعليمية ، رياضية

سُبْحَانَ اللَّهِ وَبِحَمْدِهِ ... سُبْحَانَ اللَّهِ العَظَيم

الجمعة، 17 أبريل 2015

تعلم لغة بي إتش بيPHP


اولا فكرة عامة وشاملة عن البي اتش بي

بدأت لغة البي إتش بي بفكرة أحد الهواة Ramsus Ledrof الذي فكر في كيفية تضمين شفرات الـHTML شفرات أكثر تعقيدا، إلى أن بدأت هذه اللغة بالنمو وأصبح لا يخلو أي موقع من برنامج واحد على الأقل للبي إتش بي.

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


وتتابع تتطوير اللغة حتى صدور النسخة بي إتش بي 4.0 واللذي إحتوى على تكنولوجيا تسمى Zend وتساعد على تسريع الصفحات المعتمدة على بي إتش بي وأيضا الإصدار الجديد يدعم خادمات مختلفة والتى في السابق كانت تدعم فقط برنامج الخادمات الشهير Apache.


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

لماذا وما الدافع في إختيار تعلم لغة بي إتش بي مع وجود الكثير من اللغات المنتشرة مثل ASP و ColdFusion و Java Server Pages و CGI و Perl. الأمر في غاية البساطة, لغة بي إتش بي لغة سهلة, قوية, متماسكة وتستطيع عمل كل شيء نريده .

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

وهدفنا من هذا الموقع هو تعليمكم أساسيات اللغة لإستخدامها في صفحاتكم ، ولا نحتاج منك إلا معرفة القليل من لغة الـ HTML والقليل من المتابعة والحرص على التطبيق .



والأن توضيح لاهم التطبيقات المستخدمة بها البي اتش بي

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

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

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

هذا مثال بسيط، وكذلك تستطيع الاستفادة منها في إضافة برامج كثيرة مثل:

- عداد زوار لمعرفة عدد زوار موقعك، والعدادات المتقدمة منها تعطيك تفاصيل إحصائية مفيدة.

- منتدى، والمنتديات معروفة لدى الجميع تقريباً، وفوائدها معروفة، فهي التي تزيد من زوار موقعك، وتفيد زوار موقعك في الاجتماع في مكان واحد وتبادل الخبرات والفوائد.

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

- برنامج للبطاقات وهذا معروف .

وأنواع لا حصر لها من البرامج .

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

الآن دعونا نشرح قليلاً ما هي لغة بي إتش بي، هناك لغات كثيرة تشابه هذه اللغة، منها لغة Perl أو ASP، وهي لغات تعمل من جهة المستضيف (Server Side language)، أي أنها تعمل من قبل المستضيف الذي تعمل عليه، وتقوم بإخراج النتائج على شكل HTML يفهمها المتصفح، وهي بذلك لا تثقل حاسوب زائر الموقع بأية أعباء، وكذلك توفر مرونة عالية في البرمجة لا تتوفر في لغات HTML وJava --SS-- والتي تعمل على حاسوب زائر الموقع.



والأن معا اساسيات البرمجة

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

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

الفكرة والتخطيط

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

كل هذه الخصائص تستطيع أن تضعها في برنامجك، المهم أن تضع الهدف بوضوح للبرنامج ثم تضع الخصائص المطلوبة لهذا البرنامج وعندما تبدأ في البرمجة سيسهل عليك هذا التخطيط مهمة البرمجة وكتابة الشفرة.

ما هو البرنامج؟

سؤال قد يطرحه أحدكم، ما هو البرنامج؟ هو مجموعة من الأوامر التي كتبت بأي لغة برمجة، وتكون هذه الأوامر في ملف أو أكثر، ويقوم الحاسوب بتنفيذ هذه الأوامر ليخرج بنتائج معينة يريدها المبرمج، ولكل برنامج مدخلات (input) ومخرجات (output)، ودعونا نشرح هذا أكثر.

تصوروا برنامج للمنتديات، هذا البرنامج يحتوي على العديد من الأوامر والوظائف المرتبة والمخزنة في عدة ملفات، يقوم هذا البرنامج بأخذ المدخلات وهي في حالة المنتدى المواضيع والردود والتواقيع وأسماء الأعضاء... إلخ، ويعالجها ليخرج لنا بمخرجات نريدها، وهي المواضيع المرتبة حسب طريقة معينة وجميع النتائج الأخرى.

البرمجة

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


والآن معا الأوامر الأساسية

أولاً: تبدأ شفرة بي إتش بي دائماً بهذا الأسلوب:

 

كود PHP:
<?php

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

 

كود PHP:
<?


ثانياً: إن كنا قد بدأنا البرمجة بشفرة معينة، فيجب أن ننهيها بشفرة أخرى، وهي عكس الأولى فقط!

 

كود PHP:
?> 
 

ليصبح البرنامج لديك بالشكل التالي:

 

كود PHP:
<?php 
print "برنامجي الأول"
?>

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

 

كود PHP:
<? 
print "برنامجي الأول"
?>

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

والآن دعنا نوضح أمران مهمان وهما echo وprint، ويقوم كل أمر منهما بطباعة أو كتابة أي شيء تريده، وهذا الأمر مفيد خصوصاً إن كنت تريد وضع شفرة HTML ضمن برنامج بي إتش بي، ولنأخذ مثالاً على ذلك:

 

كود PHP:
<? 
print "برنامجي الأول"
?>

وعند كتابتك للأمر السابق، تظهر لك هذه النتيجة:

برنامجي الأول

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

 

كود PHP:
<? 
print "<font face=/"Tahoma/">برنامجي الأول</font>";<br
?>

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

برنامجي الأول

ستظهر لك النتيجة بنفس الكلمة لكن بخط من نوع Tahoma، ولو لاحظت الشفرة لوجدت أننا وضعنا قبل كل من النقطيتين علامة ولو لم نفعل ذلك سيظهر لك خطأ في التنفيذ، فيجب أن تضع قبل كل نقطتين (") علامة () والأفضل أن تخلو شفرة HTML من علامة (") حتى لا تتعب معها في تصحيح الشفرة، وهكذا تستطيع تصميم صفحتك في برنامج HTML ثم تقوم بنسخه ووضع في أمر print مثلاً وستجد أن البرنامج ينفذ لك الشفرة ويرسم لك ما تطلبه في HTML.

يكفي هذا لتعلم الأساسيات، لكن في النهاية نضع لك أمرا أخيرا سيفيدك تعلمه، وهو أمر include ويقوم هذا الأمر بإدخال ملف ضمن ملف بي إتش بي، كيف؟ لنقل مثلاً أنك تريد وضع رأس صفحة متشابه لكل صفحات موقعك، تستطيع أن تصمم صفحة HTML واحدة وتقوم بطلبها عن طريق بي إتش بي بهذا الأسلوب:

 

كود PHP:
<? 
include("header.html"); 
?>

وبهذا الأمر ستجد أن ملف header.html قد تم وضعه حيث أردت أنت، وبهذه الطريقة لا يحتاج الموقع منك إلا لتعديل ملف واحد إن أردت إضافة وصلة أو صورة معينة في موقعك. يكفي هذا للدرس الأول العملي، وإليك بعض الخطوات العملية:

- قم بإنشاء ملف جديد في برنامج بي إتش بي Coder وضع فيه أمر print واكتب ما تشاء.

- جرب الأمر include في إضافة رأس موحد لموقعك وإن نجحت فجرب إضافة تذييل "footer" موحد أيضاً.

- لا تنسى أن تحفظ الملفات بصيفة .php وإلا لن تعمل الشفرة.



والأن ناتي مع المتغيرات

في كل لغة برمجة، أسلوب نعين به بعض المتغيرات، أعتقد أنك تريد شرح كلمة متغيرات؟ المتغيرات مكان أو شيء تحفظ فيه قيمة معينة، دعنا نشرح هذا بمثال عملي سهل، تصور أنك تريد عمل عداد لزوار صفحتك الرئيسية، هذا العداد يجب أن يخزن عدد الزوار في مكان ما من الملف، لذلك يجب أن نعين له متغير، كيف نقوم بذلك في البي إتش بي؟

 

كود PHP:
<? 
$visit 
0
?>

المتغير تستطيع أن تسميه بأي إسم تشاء، وبما أن المثال يتطرق لعداد الزوار لذا فضلنا أن نسميه visit حتى نعرف إلى ما يرمز، وإذا لاحظت ستجد أن الاسم سبقه علامة ($)، وهكذا في البي إتش بي نعين المتغيرات بوضع علامة $ قبل اسم المتغير.

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

 

كود PHP:
<? 
$visit 
$visit+1
?>

ماذا يعني ذلك؟ يعني أن المتغير visit = نفسها + 1، لو زار الموقع زائر، ستضيف هذه الشفرة إلى visit قيمة 1 فيصبح المتغير = 1، ثم جاء زائر آخر، سيضيف البرنامج 1 إلى قيمة المتغير فتصبح إثنان، وهكذا تزداد بمعدل واحد وتعد لك عدد الزوار، طبعاً لن نتطرق إلى كيفية عمل عداد زوار حقيقي ويعمل بشكل كامل.

لنأخذ مثالاً آخر لفائدة المتغيرات:

 

كود PHP:
<? 
$a 
5
$b 6
$c $a $b
print 
"$c"
?>

ماذا يعني المثال السابق؟ أولاً قمنا بتعيين القيمة 5 للمتغير a$ والقيمة 6 للمتغير b$ ثم قمنا بتعيين قيمة جمع المتغيرين a$ وb$ ووضعنهما في المتغير c$ وعن طريق الأمر print أمرنا بطباعة قيمة المتغير c$ فيصبح لدينا الناتج 11 .

حسناً، لو أردنا تعقيد الأمر قليلاً في المثال السابق ونضع الناتج ضمن جملة ما، مثلاً نقول: ناتج جمع 5 + 6 = 11، لكن لن نكتب الأرقام مباشرة، بل سنكتب المتغيرات فقط وهي التي ستطبع نفسها كما في المثال التالي:

 

كود PHP:
<? 
$a 
5
$b 6
$c $a $b
print 
"ناتج جمع $a + $b = $c"
?>

والناتج سيظهر في المتصفح هكذا: ناتج جمع 5 + 6 = 11



والأن مع بعض الحيل البرمجية التي تساعدك في اختصار الوقت

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

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

 

كود PHP:
<? 
include("function.php"); 
?>

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

ولذلك قد تجد في بعض البرامج تكتب هذه الشفرة في أول الملف:

 

كود PHP:
<? 
include("function.php"); 
include(
"en_lang.php"); 
include(
"header.htm"); 
?>

ماذا تعني هذه الشفرة؟ أولاً طلب تضمين ملف اسمه function.php يحتوي على الوظائف المطلوبة للبرنامج، ثم طلب ملف en_lang.php وهو ملف اللغة، ثم طلب ملف header.htm وهو ملف رأس الصفحة الذي سيظهر للمستخدم، وهذه الملفات سيحتاجها الملف دائماً في كل صفحة لذلك من الأفضل كتابتها على شكل ملفات منفصلة واستدعائها في كل ملف عن طريق الأمر include.

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


منقول للإفادة 

ليست هناك تعليقات:

إرسال تعليق