البداية الأولى
تعتبر لغة PHP أداة مميزة لإنشاء صفحات انترنت ديناميكية وأكثر تفاعلية .
يتم استخدام لغة PHP بشكل واسع و هي مجانية و لغة بديلة فعالة ومنافسة للغات برمجية أخرى
مثل Microsoft ASP .
في هذا الدورة ستتعلم الكثير عن PHP وكيفية إنشاء الأكواد على السيرفر الشخصي لديك .
ننصح وبشدة لكتابة و تجريب الأكواد استخدام برامج تحرير نصوص PHP مثل برنامج نوت باد بلاس بلاس Notepad++ و هو برنامج مجاني و جميل وأيضاً برنامج أدوبي دريم ويفر Adobe Dreamweaver
مقدمة عامة
تعتبر لغة PHP لغة برمجية تتعامل مع السيرفر .
تاريخ لغة PHP
بي إتش بي (PHP: Hypertext Preprocessor، 'الصفحة الرئيسية الشخصية': "المعالج المسبق للنصوص الفائقة") هي لغة برمجة نصية صممت أساسا من أجل استخدامها لتطوير وبرمجة تطبيقات الويب. كما يمكن استخدامها لإنتاج برامج قائمة بذاتها وليس لها علاقة بالويب فقط.
بي إتش بي لغة مفتوحة المصدر ويطورها فريق من المتطوعين تحت رخصة PHP، تدعم البرمجة كائنية التوجه وتركيبها النحوي يشبه كثيرا التركيب النحوي للغة السي هذا بالإضافة إلى أنها تعمل على أنظمة تشغيل متعددة مثل لينكس وويندوز.
PHP/FI
ظهرت php أولا في سنة 1995 على يد راسموس ليردورف (Rasmus Lerdorf) كانت تسمى وقتها بـ PHP/FI وفي الحقيقة لم تكن لغة برمجه وقتها وانما كانت مجموعه من التطبيقات التي كتبت باستخدام لغة Perl أطلق راسموس اسم Personal Home Page Tools على هذه التطبيقات، لانه احتاج فيما بعد إلى تطبيقات أكثر فائده قام راسموس بكتابة تطبيق أكبر باستخدام لغة C حيث أصبحت قادرة على الاتصال بقواعد البيانات كما أنها كانت تسمح للمستخدمين بتطوير تطبيقات مواقع ديناميكيه بسيطه، اختار راسموس ان تكون الشيفرة المصدرية الخاصة بـ PHP/FI متوفره للجميع لذا كان يمكن لأي شخص ان يستخدمها ويقوم بتحسينها والمشاركة في حل اخطاءها ومشاكلها.
كانت PHP/FI وقتها تحوي على بعض الوظائف المتوفرة بالإصدارات الحالية من اللغة، كما أن المتغيرات كانت تشبه متغيرات Perl، وكانت تركيبها النحوي يشبه Perl بالرغم من بساطتها ومحدودياتها.
في عام 1997 تم إطلاق الإصدار 2.0 من PHP/FI، حيث بلغ عدد مستخدميها آنذاك 50,000 نطاق، وكان هناك مجموعه من الأشخاص الذين يشاركون في التطوير، وتم إطلاق الإصدار الرسمي من 2.0 في شهر نوفمبر من نفس العام بعد العديد من الإصدارات التجريبية بيتا.
PHP 3
في عام 1997 تم إعادة كتابة PHP/FI على يد زيف سوراسكي وأندي جتمانز بعدما وجدوا ان PHP/FI 2.0 ليست قويه بما فيه الكفاية من أجل كتابة تطبيق تجارة إلكترونية والذي كانوا يعملون عليه كمشروع تخرج لجامعتهم، كان هناك تعاون بينهم وبين مؤسس اللغة راسموس ليردورف على ان تكون PHP 3.0 هي النسخة الرسمية بعد PHP/FI.
أحد أهم الميزات التي تميزت بها PHP 3 عن سابقتها انها أصبحت قابلة للتوسع وتوفر مع هذا الإصدار العديد من المكتبات والدوال، وادت قابلية التوسع إلى إقبال العديد من المطورين على تطوير المكتبات الجديدة واضافتها مع اللغة، ويقال ان هذا هو السبب الأساسي للنجاح الذي حققه هذا الإصدار، ومن الميزات الأخرى التي تمت اضافتها في هذا الإصدار هي البرمجة كائنية التوجة.
وفي هذا الإصدار تم تغيير اسم اللغة ووضعها تحت اسم جديد وهو PHP (بدون FI) والذي كان يحمل اختصارا لمعنى جديد مختلف عن الإصدار السابق والمعنى هو "PHP: Hypertext Preprocessor".
تم إطلاق PHP 3.0 في يونيو 1998 بعد 9 أشهر من الاختبارات.
PHP 4
في عام 1998، وبعد الانطلاق الرسمي لـ PHP 3.0 بقليل بدأ زيف سوراسكي وأندي جتمانز بإعادة كتابة أساس لغة PHP وكان الهدف من ذلك هو تحسين الأداء للبرامج المعقدة والضخمة وتحسين قابلية اللغة للتوسع.
المحرك الجديد الذي ظهر بعد إعادة الكتاب تم تسميته بـ محرك زيند (بالإنجليزية: ZEND) واسم "زيند" مأخود من أوائل حروف أسماء مطوريه، ونجحوا في تحقيق اهدافهم عن طريق هذا المحرك، وتم الإعلان عنه في عام 1999.
تعتمد PHP 4.0 على هذا المحرك وتم الإعلان عن هذا الإصدار من PHP في مايو 2000، بالإضافه إلى تحسين الأداء في هذا الإصدار احتوى كذلك على مجموعه جديده من الميزات مثل دعمه لعدد أكبر من خوادم الوب، الجلسات، طرق آمنه جديده لمعالجة دخل المستخدم وغيرها.
وقد تم إعلان إيقاف تطوير ودعم PHP 4 في 13 يوليو، 2007.
ماذا ينبغي عليك أن تعرف ؟
قبل البدء بهذه اللغة يجب أن تكون على معرفة باللغات التالية :
- HTML/XHTML
- JavaScript
إن أردت دراسة هذه اللغات يمكنك التوجه الى صفحة المعهد الرئيسية .
ماهي لغة PHP ؟
- ان PHP هي اختصار PHP: Hypertext Preprocessor أي إعادة معالجة النصوص التشعبية .
- ان لغة PHP هي لغة برمجية تتعامل مع السيرفر مثل لغة ASP .
- يتم إنشاء و استدعاء أكواد PHP على السيرفر .
- تدعم لغة PHP العديد من قواعد البيانات مثل ( MySQL و Informix و Oracle و Sybase و Solid PostgreSQL و Generic ODBC ) .
- ان لغة PHP هي لغة ببرمجية مفتوحة المصدر .
- ان لغة PHP مجانية التحميل و الاستخدام .
ماهو ملف PHP ؟
- يحتوي ملف PHP على نصوص و وسوم HTML و أيضاً سكربتات و أكواد أخرى .
- تظهر نتيجة كود PHP كنص عادي .
- ان امتداد ملف PHP هو .php و .php3 و .phtml
ماهي MySQL ؟
ان لغة MySQL هي لغة قواعد بيانات .
- تعتبر لغة MySQL لغة مثالية لكل من التطبيقات الصغيرة والكبيرة .
- تدعم MySQL لغة SQL .
- تستجيب لغة MySQL لعدد من اللغات البرمجية .
- ان لغة MySQL مجانية التحميل و الاستخدام .
PHP + MySQL
- يتم استخدام PHP مع لغة MySQL لإنشاء منصة و قاعدة يمكن العمل منها سيرفر محلي و أيضاً يمكن أن يعمل على ويندز و أيضاً على يونكس Unix .
لماذا PHP ؟
- تعمل PHP على أرضيات و برامج مختلفة مثل ويندوز , لينوكس و يونكس .
- تعمل PHP على جميع أنواع السيرفرات المستخدمة حالياً مثل Apache و IIS .
- ان لغة PHP مجانية الاستخدام و التحميل من الموقع الرسمي www.php.net
- ان لغة PHP سهلة التعلم و الاستخدام و تعمل على أكواد السيرفر .
من أين تبدأ ؟
للحصول على صلاحية تمكنك من استخدام سيرفر خاص على الانترنت كالتالي :
- اما تنصيب السيرفر Apache أو IIS على سيرفر شخصي وتنصيب PHP و MySQL .
- أو إيجاد خطط هوست حيث تكون جاهزة و داعمة للغة PHP و MySQL .
تنصيب PHP
ماذا تحتاج ؟
اذا كان السيرفر لديك يدعم PHP عندها لا تحتاج لتنصيب أو فعل أي شيء .
فقط يمكنك إنشاء ملفات php في حافظة الملفات لديك في السيرفر و سيتم تحويل و قراءة الأكواد وعرضها على المتصفح .
أما اذا كان متصفحك لا يدعم PHP عندها يجب تنصيب لغة PHP على السيرفر .
من هنا يمكنك الذهاب الى الموقع الرسمي للغة PHP مع شرح كامل حول تنصيب PHP5 :
http://www.php.net/manual/en/install.php
ان تنصيب PHP على السيرفر ليس بالأمر السهل ويحتاج لعدد من المبرمجين لتنصيبه لذلك لن نغوص في كيفية التنصيب إنما في كيفية إنشاء موقع و صفحات بلغة PHP .
تحميل PHP
لتحميل PHP مجاناً من خلال الرابط : http://www.php.net/downloads.php
تحميل قواعد البيانات MySQL
لتحميل MySQL مجاناً من خلال الرابط : http://www.mysql.com/downloads/
تحميل السيرفر أباتشي Apache Server
لتحميل السيرفر أباتشي من خلال الرابط : http://httpd.apache.org/download.cgi
التركيبة
تعمل أكواد PHP على السيرفر و تظهر النتيجة على المتصفح على شكل نصوص HTML .
التركيبة الرئيسية
تبدأ أكواد PHP دائماً من خلال الوسم <?php وتنتهي بالشكل ?> كما يمكن ادراج أكواد PHP في أي مكان تريده في صفحة الويب لديك .
بعض السيرفرات التي تحتوي على اختصارات لأكواد PHP يمكن البدء بوسم الكود <? والانتهاء ?> .
لكن نحن ننصح بشدة استخدام الوسم الرسمي للكود تجنباً لمشاكل السيرفرات ألا وهي <?php
<?php ?>
يحتوي ملف PHP على وسوم HTML تماماً مثل صفحات HTML لكن يحتوي أيضاً على أكواد خاصة PHP .
مثال لصفحة وب تحتوي على كود PHP بسيط ومرفقاً بالنص "مرحباً بكم" الذي سيظهر على المتصفح .
<html> <body> <?php echo "مرحباً بكم"; ?> </body> </html>
في نهاية كل كود PHP يجب أن يحتوي على فاصلة منقوطة أي ; كما تعتبر هذه الفاصلة المنقوطة هي العلامة التي تفصل بين الأكواد وذلك لسهولة قراءتها .
يمكن اظهار الكود على المتصفح من خلال التعابير المستخدمة في PHP مثل echo و print . و في المثال السابق استخدمنا echo لإظهار النص ألا و هو "مرحباً بكم" .
ملاحظة : يجب أن يكون الملف هو PHP وامتداده .php أما اذا كان كود PHP موجوداً في صفحات .html فإن الكود لن يعمل .
التعليقات و الملاحظات في PHP
نستخدم في PHP // من أجل تعليق ضمن السطر كما يمكن استخدام /* و */ من أجل تعليق متعدد الأسطر تماماً كما في JavaScript .
مثال
<html> <body> <?php // تعليق بسطر واحد/* تعليق بأكثر من سطر */ ?> </body> </html>
لغة php : المتغيرات Variables
يستخدم المتغير لحفظ المعلومات .
المتغيرات في PHP
تستخدم المتغيرات لحفظ قيم مثل النصوص و الأرقام و المصفوفات .
يمكن استخدام المتغير عند إنشائه في أي مكان و عدة مرات في صفحات الويب .
جميع متغيرات PHP تبدأ بالإشارة $ .
أفضل و أصح طريقة لإنشاء متغير هي كالتالي :
$var_name = value;
ينسى بعض المبرمجون الجدد وضع إشارة $ قبل اسم المتغير و عند ذلك لن يعمل الكود .
الآن سنقوم بإنشاء متغيرين الأول يحتوي على نص و الثاني يحتوي على رقم .
<?php $txt="Hello World!"; $x=16; ?>
لغة PHP متراخية
باستخدام لغة PHP لست بحاجة لإعلان المتغير قبل غضافة القيمة اليه .
في المثال السابق لست بحاجة لتعريف المتغير فيما اذا نوع البيانات الموجودة فيه نص أو أرقام أو غير ذلك لأن لغة PHP تثوم تلقائياً بتحديد نوع بيانات المتغير فور استخدام القيمة المرفقة مع المتغير .
في لغات البرمجة المتشددة يجب عليك تحديد نوع المتغير قبل إضافة البيانات اليه بينما لغة PHP تعتبر لغة متسامحة و متراخية أي يتم تحديد نوع المتغير عند اضافة القيمة اليه .
قواعد اختيار اسم المتغير
- يجب أن يبدأ اسم المتغير بحرف انكليزية صغير أو إشارة _
- يجب أن يحتوي اسم المتغير على أحرف صغيرة أو ارقام (a-z, A-Z, 0-9, _ )
- لايجب أن يحتوي اسم المتغير على مسافة فاصلة بين الأسماء كما يمكن تفريق الكلمات باستخدام _ ($my_string) أو من خلال الأحرف الكبيرة لأول حرف من كل كلمة ($myString) .
لغة php : المتغيرات النصية String
تستخدم المتغيرات النصية لحفظ و تعديل النصوص .
المتغيرات النصية في PHP
تستخدم المتغيرات النصية للقيم التي تحتوي على أحرف و كلمات .
سنطلع في هذا الدرس على أكثر functions و operators المستخدمة كنصوص strings في PHP .
يمكننا التعديل على النص الموجود ضمن المتغير بعد إنشائه كما يمكن استدعائه مباشرة أو يمكن حفظه و التعديل عليه لاحقاً .
في المثال التالي تم إنشاء متغير يحتوي على قيمة نصية و قد تم استدعائه ليتم عرض النتيجة على المتصفح .
<?php $txt="مرحباً بكم"; echo $txt; ?>
ستظهر النتيجة على المتصفح :
مرحباً بكم
ربط الأكواد
يوجد رابطة واحدة مستخدمة مع PHP لربط الأكواد معاً و هي (.) و تستخدم لربط قيمتين نصيتين مع بعضهم .
مثال
<?php $txt1="مرحباً بكم في"; $txt2="المعهد العربي للبرمجة"; echo $txt1 . " " . $txt2; ?>
ستظهر النتيجة :
مرحباً بكم في المعهد العربي للبرمجة
ان نظرنا للكود في المثال السابق سنشاهد أننا استخدمنا رابطة لربط بين المتغيرين . و أيضاً قمنا بإضافة قيمة ثالثة و هي مسافة بين الكلمتين .
الكود الوظيفي strlen()
يستخدم الكود الوظيفي strlen() لتحديد طول النص أي عدد أحرف النص المستخدمة .
مثال
<?php
echo strlen("Hello world!");
?>
ستظهر النتيجة على المتصفح :
12
يستخدم عادة هذا الكود الوظيفي مع الحلقات أو بعض الأكواد الوظيفية الأخرى خاصة عندما يكون من المهم معرفة متى ستتوقف الحلقة .
الكود الوظيفي strpos()
يستخدم الكود الوظيفي strpos() للبحث عن نص أو أحرف ضمن النص الواحد .
ان تم إيجاد النتيجة سيتم عرض مكان الكلمة أو الحرف عند أو مطابقة للنتيجة . و لكن إن لم يتم إيجاد نتيجة عندها ستكون النتيجة FALSE .
سنقوم الآن بالبحث عن الكلمة "world" ضمن النص :
<?php
echo strpos("Hello world!","world");
?>
ستظهر النتيجة على المتصفح :
6
ان موضع الكلمة في النص هو 6 في المثال السابق . و السبب بأنها 6 وليست 7 بأن الحرف الأحرف من النص يبدأ بالرقم 0 و ليس 1 .
لغة php : الرموز الحسابية في PHP
تستخدم الرموز الحسابية لاضافة او تعيين عناصر معينة
الرموز الحسابية في PHP
تستخدم PHP العديد من الرموز الحسابية .
| الرمز | الشرح | المثال | النتيجة |
|---|---|---|---|
| + | جمع | x=2 x+2 | 4 |
| - | طرح | x=2 5-x | 3 |
| * | ضرب | x=4 x*5 | 20 |
| / | قسمة | 15/5 5/2 | 3 2.5 |
| % | الباقي - باقي القسمة | 5%2 10%8 10%2 | 1 2 0 |
| ++ | إضافة – إضافة 1 | x=5 x++ | x=6 |
| -- | نقص – ناقص 1 | x=5 x-- | x=4 |
| الرمز | المثال | تماماً مثل |
|---|---|---|
| = | x=y | x=y |
| += | x+=y | x=x+y |
| -= | x-=y | x=x-y |
| *= | x*=y | x=x*y |
| /= | x/=y | x=x/y |
| .= | x.=y | x=x.y |
| %= | x%=y | x=x%y |
| الرمز | الشرح | مثال |
|---|---|---|
| == | مساوٍ لــ | x==8 خاطئ x==5 صحيح |
| === | تماماً مساوٍ لــ - القيمة والنوع | x===5 صحيح x==="5" خاطئ |
| != | غير مساوٍ لــ | x!=8 صحيح |
| > | أكبر من | x>8 خاطئ |
| < | أصغر من | x<8 صحيح |
| >= | أكبر من أو يساوي | x>=8 خاطئ |
| <= | أصغر من أو يساوي | x<=8 صحيح |
تستخدم الرموز المنطقية لتحديد علاقة منطقية بين المتغيرات والقيم .
لنفترض أن x=6 و y=3في الجدول التالي لشرح الرموز المنطقية :
| الرمز | الشرح | مثال |
|---|---|---|
| && | and / و | (x < 10 && y > 1) صحيح |
| || | or / أو | (x==5 || y==5) خاطئ |
| ! | not / ليس | !(x==y) صحيح |