تعريف بسيط عن اللغه:
بي اتش بي (بالإنجليزية: PHP) هي لغة نصية (لغة سكريبت) برمجية صُممت أساساً من أجل استخدامها لتطوير وبرمجة تطبيقات الويب كما يمكن استخدامها لإنتاج برامج قائمه بذاتها و ليس لها علاقه بالويب، كلمة PHP اختصار لـ “PHP: Hypertext Preprocessor” .
بي اتش بي لغه مفتوحة المصدر يتم تطويرها بواسطة فريق من المتطوعين و يتم اطلاقها تحت رخصة 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 على يد Zeev Suraski وأندي جتمانز بعدما وجدوا ان PHP/FI 2.0 ليست قويه بما فيه الكفايه من اجل كتابة تطبيق تجاره الكترونيه و الذي كانوا يعملون عليه كـ مشروع تخرّج لجامعتهم، كان هناك تعاون بينهم و بين مؤسس اللغه Rasmus Lerdorf على ان تكون PHP 3.0 هي النسخه الرسميه بعد PHP/FI .
احد أهم الميزات التي تميزت بها PHP 3 عن سابقتها انها اصبحت قابله للتوسّع و توّفر مع هذا الاصدار العديد من المكتبات و الدوال، و ادّت قابلية التوسّع إلى إقبال العديد من المطورين على تطوير المكتبات الجديده و اضافتها مع اللغه، و يقال ان هذا هو السبب الاساسي للنجاح الذي حققه هذا الاصدار، و من الميزات الاخرى التي تم اضافتها في هذا الاصدار هي البرمجه كائنية التوجه OOP .
و في هذا الاصدار تم تغيير اسم اللغه و وضعها تحت اسم جديد و هو PHP (بدون FI) و الذي كان يحمل اختصاراً لمعنى جديد مختلف عن الاصدار السابق و المعنى هو “PHP: Hypertext Preprocessor” .
تم اطلاق PHP 3.0 في يونيو 1998 بعد 9 أشهر من الاختبارات .
PHP 4
في عام 1998، و بعد الانطلاق الرسمي لـ PHP 3.0 بقليل بدأ Zeev Suraski وAndi Gutmans بإعادة كتابة أساس لغة PHP وكان الهدف من ذلك هو تحسين الاداء للبرامج المُعقده و الضخمه و تحسين قابلية اللغه للتوسّع .
المحرك الجديد الذي ظهر بعد إعادة الكتاب تم تسميته بـ محرك ZEND واسم ZEND مأخود من اوائل حروف أسماء مطوريه ، و نجحوا في تحقيق اهدافهم عن طريق هذا المحرّك، و تم الاعلان عنه في عام 1999 .
تعتمد PHP 4.0 على هذا المحرك و تم الاعلان عن هذا الاصدار من PHP في مايو 2000 ، بالإضافه إلى تحسين الاداء في هذا الاصدار احتوى كذلك على مجموعه جديده من الميزات مثل دعمه لعدد أكبر من خوادم الويب ، الجلسات، طرق آمنه جديده لمعالجة دخل المستخدم و غيرها .
وقد تم إعلان إيقاف تطوير ودعم PHP 4 في 13 يوليو ، 2007[2] .
الاستخدام:
مثال لطباعة Hello World :

تقوم PHP بتنفيذ ما هو بين الوسمين فقط، و اي شئ خارج هذا هذين الوسمين فيتم طباعته مباشره ولا يتم معاملته كـ شيفرة PHP، تُمكن هذه الميزه من إدخال شيفرات الـ PHP داخل شيفرات HTML، مثلاً :

المتغيرات تكون مسبوقة بعلامة الدولار – $ – و من غير الضروري تعريف نوع المتغير ، بعكس أسماء الدوال و الاصناف ، المتغيرات حسّاسه لحالة الحرف، و يتم استخدام علامات الاقتباس المزدوجه – ” – من اجل وضع قيمه للمتغير .
بي اتش بي لديها ثلاثة انواع من التعليقات ، /* */ و الذي يُستخدم للتعليقات متعددة الاسطر ، // و# والذين يستخدمون للتعليقات ذات السطر الواحد .
انتقادات للغه:
تُنتقد بي اتش بي لمجموعه من النقاط منها :
* بي اتش بي تستخدم ميزة علامات الاقتباس السحريه (بالإنجليزية: Magic quotes) و التي تُحاول تجاهل العلامتين ‘ و ” في النصوص التي تُستخدم في قواعد البيانات من اجل منع ثغرات حقن SQL (بالإنجليزية: SQL Injection). هذا يؤدي إلى بعض التشويش حيث لا يتم التفريق بين البيانات التي تُعالجها هذه الميزه من غيرها التي لا تُعالجها.
* بي اتش بي لا تحتوي على دعم حقيقي لـ Unicode.
* بي اتش بي لا تُجبر المبرمج على الاعلان عن المتغير قبل استخدامه، هذا يؤدي إلى اخطاء من نوع E_NOTICE التي تكون مخفيه بشكل افتراضي.
* المكتبات القياسية في بي اتش بي تفقد بعض التنظيم، حيث تحتوي المكتبات على دوال تقوم بنفس الوظائف مع مُعطيات مختلفة و اسم مختلف.
ويعمل فريق المطورين على اللغه لحل تلك المشكلات في الاصداره القادمه من للغه php 6

Ahmed Essam
قراءات 2,134 







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