ما هي بي إتش بي PHP
لعلّ كثيرًا منّا اليوم يعلم أن لغات البرمجة هي بمثابة “الجنديّ المجهول” في تعاملنا مع هذا العالم الافتراضيّ والمعلوماتيّ الواسع والمتنوّع، وقد تكون أنت من بين الملايين في هذا العصر الذين ينوون تعلّم لغة برمجةٍ جديدةٍ، قد يعتبرونها خيرًا من أي لغة تواصلٍ بشريٍّ، فهل فكّرت في خيارٍ مناسبٍ!؟
أو ببساطةٍ، هل تساءلت يومًا عن لغة البرمجة الّتي كُتِب به موقع إلكترونيّ ما، كموقع فيسبوك مثلًا، والذي ربّما أنت تستخدمه يوميًّا، ولساعاتٍ!؟
إنّها لغة PHP.
مفهوم PHP
PHP (بي إتش بي) كانت في الأصل مجموعةً من التّطبيقات الّتي كتبت باستخدام لغة Perl، وهي اليوم تُعرَف بأنّها لغة برمجةٍ نصّيّةٍ من جانب الخادم.
صُمِّمَت أساسًا لتطوير وبرمجة تطبيقات الويب، كما يمكن استخدامها أيضًا لأغراضٍ عامّةٍ أكثر شمولًا، كإنتاج برامجٍ قائمةٍ بذاتها وليس لها علاقةٌ بالويب فقط.
تأسيس وتاريخ PHP
أنشئت أصلًا من قبل راسموس ليردورف Rasmus Lerdorf في عام 1994، وأُصدرت بعد ذلك بعام.
بعد عدّة أعوامٍ، أعاد اثنان من المبرمجين الجامعيّين، وهما “زئيف سوراسكي” و”أندي غوتمانز”، كتابة قاعدة النّسخة الأصليّة، وأطلقا الإصدار الذي سُمّي حينها بـ “PHP3”.
دلالة مصطلح PHP
التفسير الأكثر شعبيّةً لما تمثّله PHP هو (PHP: Hypertext PreProcessor)، ولكن هذا من شأنه أن يجعل المصطلح المعبّر عنها بالشكل: (HPP)، وهذا أقرب لأن يكون اختصارًا عكسيًّا!
عمومًا؛ فالتفسير البديل هو أنّ الأحرف الأولى تأتي من الإصدار الأقدم لبرنامج اللّغة، والذي كان يُسمّى ـ بالنّظر إلى الغرض منه ـ بأدوات “الصفحة الشّخصيّة الرّئيسيّة”: (Personal HomePage).
على الأقل تحصل على الأحرف (PHP) في التّرتيب الصحيح!
ما معنى “لغة برمجة من جانب الخادم”!؟
إن التطبيق الأساسيّ والأكثر إبداعًا لـ PHP يكون عندما يتمّ استخدامها من ناحية الخادم؛ إذ تمّ تصميها في واقع الأمر لهذا الغرض، من أجل بناء مواقعٍ وتطبيقات ويب تفاعليّة، بطريقةٍ آمنةٍ، غير مكلفةٍ، ويمكن الاعتماد عليها.
فما معنى قولنا هذا!؟
ذلك أن PHP لا يتمّ تنفيذها على الحاسوب الخاص بك (وهو ما يُعَبَّر عنه عمومًا بـ “العميل”)، ولكن على الحاسوب الذي طلبت منه الصّفحة؛ وهو “الخادم” الذي يستخدم لعرض صفحات الويب بشكلٍ حيويٍّ، ثم يتم تسليم النتائج لك، وعرضها في المتصفّح الخاصّ بك.
لنأخذ مثالًا كلاسيكيًاـ إن صحّ التعبير ـ للتحقّق من تسجيل الدخول؛ فإذا كنت تريد تسجيل الدخول إلى حسابٍ خاصّ لأيّ موقع ويب، فستقوم بملء اسم المستخدم أو البريد الإلكتروني وكلمة المرور. سيتم إرسال بيانات هذين الحقلين إلى الخادم الذي يقوم بتشغيل هذا الموقع المُختار.
الآن؛ الخادم الذي يكون مصدر التّحقّق الخاصّ به مكتوبًا بلغة PHP سيتحقق من بياناتك وينتقل إلى حساب المستخدم الخاصّ بك، وذلك فقط إذا كان زوج الحقول متطابقًا مع قاعدة البيانات الخاصّة به، وإلّا فسيتّم عرض الحقول مرةً أخرى مع رسالة الخطأ الضرورية (عادةً ما يتم تمييزها باللون الأحمر).
يتمّ إجراء جميع عمليات التحقق، والمعالجة الإضافيةـ إذا لزم الأمر ـ بواسطة برنامج PHP نصّيّ على الخادم، ولن يتم إرسال سوى النتائج المطلوبة إلى المستخدم.
وبخلاف Java Script، فإن شفرة المصدر المكتوبة بلغة PHP ليست مرئيةً للمستخدم النّهائيّ؛ أي أنها “لا تُفْهَم من قبل المتصفح”.
انتشار وشعبيّة PHP
عندما نتحدّث عن الإنترنت اليوم، فإنّنا أمام مصطلح من الصّعب جدًّا قياسه، وإحصاء تنوّعه، وموارده.
لكن PHP لها اليد العليا أمام كلّ هذا!
- إنها قويّةٌ بما يكفي لتكون في قلب أكبر نظام تدوينٍ على الويب (WordPress).
- إنها عميقةٌ بما يكفي لتشغيل أكبر شبكةٍ اجتماعيةٍ في العالم (Facebook).
- إنها واسعةٌ ومتشعّبةٌ بما يكفي لتكوين أكبر موسوعة معارفٍ إلكترونيةٍ في العالم (Wikipedia).
بعد عقدين من بدايتها، سجلت شركة PHP نموًا هائلًا ولا تزال قويةً جدًّا إلى يومنا هذا؛ إذ تسيطر على أكثر من 80 ٪ (ثمانين بالمئة) من جميع المواقع على الكرة الأرضية، وهذا يشمل التّخصّصات السّابقة الذّكر، وغيرها الكثير.
إذًا، ومع وجود ملايين المواقع الّتي تمّ تصميمها باستخدام PHP، فلا عجب أنّنا بحاجة لفهم تأثيرها على المطوّرين عمومًا، وعلى عالم البرمجة والتّرميز بشكلٍ خاصّ.
الاستخدامات الشائعة لـ PHP
غالبًا ما تعمل PHP على خادم ويب، ولكنّها بالإضافة لذلك تمثّل مجالًا واسعًا للعديد من المهام والاستخدامات، ويمكننا ذكر العديد منها فيما يلي:
- باستخدام PHP، يمكنك العمل على “تطبيقات الويب”؛ مثل إنشاء صفحات تسجيل الدّخول إلى اسم المستخدم وكلمة المرور، والتّحقّق من التّفاصيل من نموذج، وإنشاء المنتديات، ومعارض الصور، والاستطلاعات، والكثير غيرها.
- يتمّ استخدامها عمومًا لتحسين صفحات الويب.
- تنفّذ PHP وظائف النظام، أيٍّ من خلال الملفات الموجودة على نظام، حيث يمكنها إنشاؤها وفتحها وقراءتها وكتابتها وإغلاقها.
- يمكن لـ PHP التعامل مع النماذج.
- من خلال PHP يمكن جمع البيانات من الملفات، حفظ البيانات إلى ملف، أو من خلال البريد الإلكتروني، وأيضًا يمكن إرسال البيانات، وإرجاع البيانات إلى المستخدم.
- يمكن إضافة أو حذف أو تعديل العناصر داخل قاعدة البيانات.
- يمكن الوصول إلى متغيرات ملفات تعريف الارتباط وتعيين ملفات تعريف الارتباط.
- باستخدام PHP يمكن تقييد وصول المستخدمين إلى بعض صفحات موقع الويب الخاص بك.
- يمكن تشفير البيانات.
- من الممكن استخدامها كـ “سطر أوامر”؛ حيث توفر PHP واجهة سطر أوامر، لذا يمكن من خلالها تطوير مجموعةٍ من البرامج التي تسهّل المهام الإدارية لمدراء النظم.
- استخدامها ناحية “العميل”؛ إذ توفّر PHP مكتبات واجهات رسوميّة؛ ممّا يجعل تطوير البرامج غير المتعلّقة بالويب (تعمل على حاسوب المستخدم) أمرًا ممكنًا.
ميزات PHP
إنّ PHP تبدو كالحصان المجنّح بالنسبة للمبرمجين الّذين يحاولون تشكيل العالم عبر خيالهم الافتراضي الملوّن والجامح؛ فبالنسبة لمطوّر الويب، يعدّ تصميم موقعٍ معقدٍ وجذابٍ في فترةٍ زمنيّةٍ قصيرةٍ تحديًا كبيرًا، لا سيّما وأنّ مواقع الويب أصبحت الآن أكثر ديناميكيّةً وأقلّ جمودًا وثباتًا.
هذا هو المكان الذي تثبت فيه لغة PHP جدارتها عبر هذه الخصائص:
التوافق
- تعمل PHP على منصّاتٍ مختلفةٍ ومتنوّعةٍ (Windows، Linux، Unix، Mac OS X، إلخ…).
- متوافقة تمامًا مع جميع خوادم الويب والشركات الرئيسيّة تقريبًا (Netscape، Apache، Microsoft IIS، إلخ…).
سهولة التعلّم والاستعمال
- تعتبر لغة PHP من أسهل لغات البرمجة تعلّمًا؛ فهي تريحك من جميع تعقيدات إدارة الذاكرة وتعقيدات معالجة النصوص الموجودة في C من جهة، والكثير من الضعف الموجود في بينية وتصميم لغة البرمجة Perl من جهةٍ أخرى.
- تمتلك لغة PHP بنيةً وقواعدَ ثابتةً وواضحةً جدًّا، ففضلًا عن تركيبها البنيويّ الذي يشبه كثيرًا التركيب البنيويّ للغة C، فإنّ معظم قواعد اللغة مأخوذةٌ من كلٍ من C وJava وPerl لصنع لغة برمجةٍ عالية السهولة والسلاسة دون فقدان أيٍّ من عناصر القوّة في اللّغة.
- معظم المطوّرين على درايةٍ تامةٍ بلغة C؛ إذ إنّ C هي لبنة كلّ اللّغات النّامية.
- إنّ PHP تستخدم C وكأنّها أداة “بناء بالجملة”!
- ستكتشف تدريجيًّا كيف تقوم PHP بتسهيل أصعب الأمور وإذلال العقبات التي تواجه المبرمج حتى يتفرغ تمامًا للإبداع فقط.
السرعة
الجانب الحيويّ، والهاجس الرئيس لدى معظم المستخدمين في عصرنا اليوم هو السرعة، وبالنظر إلى حقيقة أن بعض الأشخاص الذين يستخدمون الإنترنت لا يزالون يعانون من التحدّي المتمثل في سرعة بيانات الإنترنت، فإن موقع التحميل السريع سيكون موضع تقديرٍ وتفضيلٍ أكبر لهؤلاء الناس، وهذا الذي تفوّقت به لغة PHP.
- تُعَدّ PHP أسرع مورد متاح لإنشاء مواقع ديناميكيّة.
- إنّ مجتمع دعم وتطوير PHP يستمر في تحسين أداء اللّغة، وخير دليلٍ على ذلك أنّ الإصدار الأخير من PHP 7.x هو أسرعٌ بمرّتين من إصدار PHP 5.x.
الاستخدام والتفاعل مع لغاتٍ أخرى
- يتم استخدام PHP لجعل المواقع ديناميكية، في حين توفّر غيرها مثل HTML وCSS البنية والتّصميم فقط.
- يمكن تضمين شفرة PHP في HTML، ويمكن استخدامها مع أنظمة قوالب الويب المختلفة وأنظمة إدارة محتوى الويب وأطر الويب.
- إذا صادفت صفحة ويب تنتهي بـ PHP، فهذا يعني أن المبرمج قد كتب بعض رموز البرمجة لتنشيط وتحسين شفرة HTML.
- يمكن فصل شيفرة HTML عن شيفرة PHP باستخدام مجموعةٍ من الدوال الّتي تُسَمّى “محركات القوالب”.
- كود PHP منظمٌ جيدًا ويمكن تضمينه بسهولةٍ في شفرة HTML.
- علاوة على ذلك، من السهل استكشاف المشاكل في PHP بالمقارنة مع اللغات الأخرى.
- يمكن استخدام PHP لكل ما يمكنك القيام به تقريبًا مع جميع لغات البرمجة النّصيّة على الويب.
الحماية والصلاحيّات
- رغم أنّ PHP توفّر الكثير من المزايا المتقدمة، ولكنها بالمقابل توفّر الطرق المناسبة لوضع الحدود على هذه المزايا، فيمكنك التحكم بعدد الاتصالات المسموحة بقاعدة البيانات مثلًا، أو الحجم الأقصى للملفات التي يمكن إرسالها عبر المتصفح، أو السماح باستخدام بعض الميزات أو إلغاء استخدامها.
- كل ذلك يتم عن طريق ملف إعدادات PHP والذي يتحكم به مدير الموقع، ممّا يتيح تعاملًا بمرحلةٍ متقدّمةٍ مع حركة المرور الكثيفة، وبكلّ سهولةٍ.
المصدر المفتوح والتوسّع والدّعم
- كما ذكرنا سابقًا، فإن PHP لغةٌ مفتوحة المصدر، ويتمّ تطويرها وصيانتها من قبل مجموعةٍ كبيرةٍ من المطوّرين والمتطوعين تحت رخصة PHP؛ ممّا يمكن الجميع من التعاون والعمل عليها، وعلى هذا النحو نرى أنّ هنالك مجتمعَ دعمٍ واسعٍ حول PHP.
- إنّ PHP تسمح للمطوّرين بكتابة إضافاتٍ لها باستخدام لغة C، لإضافة وظائف جديدة، وهذا ما يتيح مكتبة إضافاتٍ وافرةٍ.
مجانيّة
- PHP مجانيّةٌ تمامًا؛ فجميع الميزات والتّحديثات من PHP متاحةٌ مجّانًا من حيث التّكلفة، ببساطةٍ يمكن تنزيلها من موقع PHP الرسمي: php.net.
الاستقرار
مع لغةٍ موجودةٍ بفاعليّةٍ قويّةٍ على السّاحة منذ أكثر من 20 عامًا، وبوجود مجتمع الدعم الكامل من المطوّرين، فقد تبلورت الخبرة وتم كشف معظم العيوب والأخطاء في اللغة على مرّ السنين؛ لذا تعد PHP لغةً “مستقرّةً للغاية”.
الدعم القويّ لقواعد البيانات
إنّ PHP تدعم نطاقًا واسعًا من قواعد البيانات؛ باعتبارها لغة البرمجة الأكثر شيوعًا على الإنترنت.
يرجع ذلك إلى أهمية قاعدة البيانات للعديد من مواقع الويب بما في ذلك التجارة الإلكترونية والعديد من أنواع مواقع الويب الأخرى؛ فعند إنشاء موقع ويب يتم تشغيله بواسطة البيانات أو المحتوى، سيتم استخدام قاعدة البيانات بشكلٍ متكررٍ، وهنا تكون PHP مفيدةً في إدارة هذا النوع من مواقع الويب، إذ تقلّل إلى حدٍّ كبيرٍ مقدار الوقت اللازم لإنشاء تطبيق ويب.
عيوب PHP
على الرغم من مزاياها الكثيرة، وغناها وتنوّعها، فإن PHP لها أيضًا بعض العيوب:
غير مصممة لإنشاء تطبيقات ضخمة
مع طريقة إنشاء PHP (قبل المعالجة)، سيكون من الصّعب استخدامها في برمجة التّطبيقات الضّخمة، والمقصود هنا من جانب العميل (خارج نطاق الويب بشكلٍ أساسيٍّ). ونظرًا لأنها ليست نموذجيةً بشكلٍ كبيرٍ، فسيكون من الصعب الحفاظ على التطبيقات الضخمة التي تم إنشاؤها من PHP.
على الرغم من أنها لغةٌ رائعةٌ بالنسبة إلى برمجة مواقع الويب وتطوير التطبيقات الصغيرة، إلا أنه من غير المستحسن استخدام PHP لإنشاء تطبيقٍ ضخمٍ. قد يرجع ذلك إلى حقيقة أن PHP تم إنشاؤها بشكلٍ أكبر للاستخدام في تطوير مواقع الويب بدلًا من إنشاء تطبيقات للاستخدام على Windows وأنظمة التشغيل الأخرى.
الأمان
إنّ طبيعة المصدر المفتوح لـ PHP تبدو بمثابة ميزة وعيب في آنٍ واحدٍ؛ نظرًا لأنه يمكن للجميع الاطلاع على شفرة مصدر PHP، فمن الممكن أن يتعرف الهاكر على الأخطاء في الشفرة ويستخدم لاحقًا مثل هذه الأخطاء لمهاجمة المستخدمين غير المدركين لذلك.
لكن، وعلى العموم، هناك حاجةٌ دائمةٌ لتأمين مواقع الويب قدر الإمكان، وبكافّة الطرق، سواءً لحماية مالك موقع الويب، وكذلك مستخدمي الموقع.
مع ذلك؛ تعد لغة PHP لغة برمجة شائعة للغاية وأصبحت ذات شعبيةٍ كبيرةٍ منذ تأسيسها وبداية تطويرها في عام 1994، ويستخدمها حاليًا عدد كبير من الأشخاص لإنشاء أنواعٍ مختلفةٍ من التطبيقات. ورغم أنّه يتم استخدامها بشكلٍ رئيسيٍّ كلغة برمجةٍ نصّيّةٍ من جانب الخادم لمواقع الويب، فقد نجد البعض استخدمها لإنشاء تطبيقاتٍ لنظام التشغيل Mac وLinux وWindows.
هناك ـ ولا شكّ ـ بعض المزايا والعيوب، ومع ذلك فإن الاستخدام الواسع لـ PHP يعطينا الحقيقة الّتي مفادها أنّ “المزايا تحل محل العيوب”.
وإن كنت اليوم على أعتاب إنشاء موقعك الخاصّ، وتريد رفده بكلّ أفكارك المبتكرة، ولربّما المجنونة، فإنّ PHP ـ وعلى الأرجح ـ ستكون خير وسيلةٍ!