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

مثال لطباعة برنامج أهلا بالعالم:
<?php
echo ‘أهلا بالعالم’;
?>
وأيضا بهذا الشكل
<?php echo ‘Wikipedia’?>
تقوم PHP بتنفيذ ما هو بين الوسمين <?php و?> فقط، واي شيء خارج هذا هذين الوسمين فيتم طباعته مباشره ولا يتم معاملته كـ شيفرة PHP، تمكن هذه الميزة من إدخال شيفرات الـ PHP داخل شيفرات HTML، مثلا:
<html>
<head>
<title>
<?php
$page_title = ‘Wikipedia’;
echo $page_title;
?>
</title>
</head>
<nowiki> <body></nowiki>
Hello
<nowiki> </body></nowiki>

</html>
المتغيرات تكون مسبوقة بعلامة الدولار - $ - ومن غير الضروري تعريف نوع المتغير، بعكس أسماء الدوال والاصناف، المتغيرات حساسه لحالة الحرف، ومن أجل وضع قيمه للمتغير يتم استخدام علامات الاقتباس المزدوجة - " - او المفردة - ’ - أو بدون أي علامة اقتباس بحيث تكون القيمة في هذه الحالة على أحدى الأشكال التالية:
من نوعية الأعداد بشقيها الاعداد العائمة والاعداد الصحيحة.
من نوعية الثوابت.
استدعاء احد الروتينات الفرعية بشكل مباشر.
استدعاء احد الروتينات الفرعية عبر كائن (Object).
بي إتش بي لديها ثلاثة أنواع من التعليقات، /* */ والذي يستخدم للتعليقات متعددة الاسطر، // و# والذين يستخدمون للتعليقات ذات السطر الواحد.
أنواع البيانات[عدل]
تقوم بي إتش بي بتخزين الأرقام بمدى يعتمد على المعالج التي تعمل عليه، هذا المدى نموذجيا يكون 32 بت من الاعداد الصحيحة، متغيرات الاعداد الصحيحة يمكن ان تكون قيمتها عشريه أو ثمانيه أو ست عشريه. الاعداد الحقيقيه كذلك تخزن بمدى يعتمد على المعالج.
لغة بي إتش بي تحتوي كذلك على نوع بوليان والذي يسمى بـ “boolean”، كما في لغة Perl الأرقام الأكبر أو الأصغر من صفر يمكن ان تعتبر true اما الصفر يمكن ان تعتبر false.
نوع البيانات null يمثل المتغيرات التي لا تحتوي على القيمة، والقيمة الوحيدة في هذا النوع من البيانات هي NULL.
المصفوفات تدعم الفهارس النصية والرقميه، المصفوفات يمكن ان تحتوي عناصر من اي نوع من البيانات التي تدعمها بي إتش بي.
الكائنات[عدل]
في PHP 3 تم إضافة أساسيات البرمجه غرضية التوجه، وتم إعادة كتابته في PHP 5 من أجل تحسين الأداء وإضافة المزيد من الميزات، في الإصدارات السابقة من بي إتش بي كانت تعامل الكائنات كـ أنواع بدائيه (بالإنجليزية: Primitive Types). وكانت نقطة ضعف هذا الأسلوب في أن الكائن كان ينسخ كاملا عندما يتم تكليفه كـ متغير أو عندما يتم تمريره إلى الدوال، وقد تم حل هذه المشكلة PHP 5.
في PHP 5 تم الإعلان عن الأنواع private وprotected لكل من الدوال والمتغيرات، وتم الإعلان عن الطريقة القياسية في تعريف المشيد (بالإنجليزية: constructors) والمهدم (بالإنجليزية: destructors).
class foo extendكيفية تعريف الصنف foo الذي يرث الصنف bar، وتعريف الدالة العامة mystaticfunc والتي يمكن استدعاءها بالشكل التالي foo::mystaticfunc();
الموارد[عدل]

المكتبات[عدل]
تضم بي إتش بي(PHP) عدد كبير من المكتبات الحرة والمجانية، أغلب هذه المكتبات تعطي بي إتش بي طبيعتها كلغة لكتابة تطبيقات الوب، حيث تحتوي على مكتبات للوصول إلى FTP ومجموعه من مكتبات الوصول إلى قواعد البيانات مثل MySQL وSQLite وغيرها، العديد من الدوال تشبه دوال لغة C.
الإضافات[عدل]
بي إتش بي تسمح للمطورين بكتابة إضافات لها باستخدام لغة C لإضافة وظائف جديده، هناك أكثر من نوع للاضافات بعضها يترجم مع شيفرة بي إتش بي والبعض الآخر يعمل في وقت التشغيل (أثناء تنفيذ البرنامج)، تم استخدام الاضافات لدعم مجموعه من الدوال مثل دوال التحكم في العمليات لنظم يونكس، لإضافة Windows API وcURL وبعض الميزات غير المسبوقة مثل IRC وغيرها الكثير، هناك موقع يطلق عليه اسم PECL يجمع الاضافات ضمنه.
برامج التشفير، تحسين الاداء، التسريع[عدل]
وظيفة برامج التشفير هي تشفير ملفات بي إتش بي إلى صيغه غير مفهومه بهدف إخفاء الشيفرة البرمجية لعدة أسباب، البعض يرى انها أسباب امنيه، والبعض يرى انها مفيده للبرامج التجاريه، يوجد نوعين لبرامج التشفير، النوع الأول يقوم بإخفاء الشيفرة المصدريه، النوع الثاني يقوم بترجمة الشيفرة إلى شيفره أخرى، ثم يتم تركيب إضافة معينه حتى تقوم بدورها بترجمة الشيفرة الناتجة وجعلها مفهومه من ناحية المحرك الذي سوف يقوم بتنفيذها، أكثر برامج التشفير شهره هي التي توفرها تقنيات Zend وionCube المحدوده.
اما بالنسبة لبرامج تحسين الأداء، فهي تقوم بتحسين جودة الشيفرة المترجمة عن طريق تقليل حجمها وعمل بعض التعديلات التي تقلل من وقت التنفيذ.
أخيرا بالنسبة لبرامج التسريع، فوظيفتها تحسين الأداء عن طريق عملية الكاش، حيث تقوم بتخزين الشيفرة المترجمة في الذاكره حتى تستخدمها فيما بعد بدلا من الحاجة إلى ترجمة وتحويل الشيفرة في كل مره يطلب فيها الملف، تتوفر برامج تجاريه مثل Zend Platform وأخرى حره مثل xcache وeAccelerator وAPC
المنقحات[عدل]
تساعد المنقحات (بالإنجليزية: Debugger) على تحليل الشيفرة من أجل ملاحظة الأخطاء، مثالا على المنقحات Advanced PHP Debugger وXdebug
محركات القوالب[عدل]
وهي مجموعه من الدوال تستخدم بغرض فصل شيفرة HTML عن شيفرة PHP، وأحد أشهر محركات القوالب Smarty.
PEAR[عدل]
وهو مشروع يهدف لكتابة مكتبات باستخدام بي إتش بي، تكون قابله لإعادة الاستخدام، تكتب مكتبات هذا المشروع دائما باستخدام البرمجه كائنية التوجه.