|
Article on other languages:
|
بي اتش بي لغه مفتوحة المصدر يتم تطويرها بواسطة فريق من المتطوعين و يتم اطلاقها تحت رخصة PHP ، تدعم البرمجة كائنية التوجه و تركيبها النحوي يشبه كثيراً التركيب النحوي للغة السي هذا بالإضافه إلى انها تعمل على منصات متعدده مثل لينكس وويندوز .
تاريخيةPHP/FIظهرت اولاً في سنة 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] . <html> <head> <title> <?php echo $page_title; ?> </title> </head> <body> Hello </body> </html> الاستخدامغالباً ما تعمل لغة بي إتش بي على خادم ويب، كما يمكن استخدامها كـ واجهة سطر اوامر او استخدامها لتطوير برامج ذات واجهه رسوميه تعمل على حاسوب المستخدم، يمكن استخدام بي اتش بي تحت معظم خوادم الويب كما انها تعمل على معظم نظم التشغيل، كما ان فريق تطويرها يزوّد شيفرتها المصدريه كامله حيث يمكن للمستخدمين بناءها و تطويرها بما يناسب احتياجاتهم . تقوم بي اتش بي اساساً بأخذ الملف الذي يحتوي على اوامر البي اتش بي (ملفات .php) كـ مُدخل و تقوم بإخراج بيانات قابله للعرض . في الاصدار الرابع من بي اتش بي، تقوم بتحويل الملفات المكتوبه بإستخدام البي اتش بي إلى bytecode لمعالجتها عن طريق محرك ZEND . استخدامها ناحية الخادمفي الحقيقه صُممت بي اتش بي من اجل استخدامها من ناحية الخادم و بناء تطبيقات ويب تفاعليه، وقد اصبح بناء LAMP مشهوراً جداً في صناعة الويب كطريقة برمجيات ويب آمنة، غير مكلفة، ويمكن الاعتماد عليها. بي إتش بي مشار إليها كحرف P في LAMP كـ لغة برمجه، بجانب لينكس (L) كـ نظام تشغيل، اباتشي (A) كـ خادم ويب و ماي اس كيو ال (M) كـ نظام إدارة قواعد بيانات . وقد ظهرت أيضاً بناءات أخرى ك WAMP مستبدلة لينكس بـ ويندوز (W)، و MAMP مستبدله لينكس بـ ماك او اس (M) . يمكن استخدام بي إتش بي مع عدد كبير من انظمة إدارة قواعد البيانات، و بما انها متوفرة على عدد من نظم التشغيل جعل لها مرونة مكنت بي إتش بي من الانتشار على الكثير من خوادم الانترنت حول العالم، فأكثر من 18 مليون نطاق يعمل على خوادم مُثبت عليها بي إتش بي . استخدامها كـ سطر اوامرتُوفر بي اتش بي كذلك واجهة سطر اوامر، لذا يمكن استخدامها لتطوير مجموعه من البرامج التي تسهّل المهام الاداريه لمدراء النُظم . استخدامها ناحية العميلتُوفر بي اتش بي مكتبات واجهات مستخدم رسوميه مثل GTK (عن طريق PHP-GTK) و Qt (عن طريق PHP-Qt) مما يجعل تطوير البرامج غير المتعلقه بالويب امراً مُمكناً . التركيب النحويمثال لطباعة Hello World : <?php echo 'Hello World'; ?> وأيضا بهذا الشكل <?='Hello World'?> تقوم PHP بتنفيذ ما هو بين الوسمين <?php و ?> فقط، و اي شئ خارج هذا هذين الوسمين فيتم طباعته مباشره ولا يتم معاملته كـ شيفرة PHP، تُمكن هذه الميزه من إدخال شيفرات الـ PHP داخل شيفرات HTML، مثلاً : <html> <head> <title> <?php echo $page_title; ?> </title> </head> <body> Hello </body> </html> المتغيرات تكون مسبوقة بعلامة الدولار - $ - و من غير الضروري تعريف نوع المتغير ، بعكس أسماء الدوال و الاصناف ، المتغيرات حسّاسه لحالة الحرف، و يتم استخدام علامات الاقتباس المزدوجه - " - من اجل وضع قيمه للمتغير . بي اتش بي لديها ثلاثة انواع من التعليقات ، /* */ و الذي يُستخدم للتعليقات متعددة الاسطر ، // و# والذين يستخدمون للتعليقات ذات السطر الواحد . أنواع البياناتتقوم بي اتش بي بتخزين الارقام بمدى يعتمد على المعالج التي تعمل عليه، هذا المدى نموذجياً يكون 32 بت من الاعداد الصحيحه، متغيرات الاعداد الصحيحه يمكن ان تكون قيمتها عشريه او ثمانيّه او ست عشريه. الاعداد الحقيقيه كذلك تُخزّن بمدى يعتمد على المعالج. لغة بي اتش بي تحتوي كذلك على نوع Boolean و الذي يُسمى بـ "boolean"، كما في لغة Perl الارقام أكبر من صفر يُمكن ان تعتبر true اما الصفر يُمكن ان تعتبر false. نوع البيانات null يُمثل المتغيرات التي لا تحتوي على القيمه، و القيمه الوحيده في هذا النوع من البيانات هي NULL. المصفوفات تدعم الفهارس النصيّه و الرقميه، المصفوفات يمكن ان تحتوي عناصر من اي نوع من البيانات التي تدعمها بي اتش بي. الكائناتفي PHP 3 تم اضافة اساسيات البرمجه غرضية التوجه، و تم اعادة كتابته في PHP 5 من اجل تحسين الاداء و اضافة المزيد من الميزات، في الاصدارات السابقه من بي اتش بي كانت تُعامل الكائنات كـ انواع بدائيه (بالإنجليزية: Primitive Types). و كانت نقطة ضعف هذا الاسلوب في ان الكائن كان يُنسخ كاملاً عندما يتم تكليفه كـ متغير او عندما يتم تمريره إلى الدوال، و قد تم حل هذه المشكله PHP 5. في PHP 5 تم الاعلان عن الانواع private و protected لكل من الدوال و المتغيرات، و تم الاعلان عن الطريقه القياسيه في تعريف المشيد (بالإنجليزية: constructors) و المهدم (بالإنجليزية: destructors).
المواردالمكتباتتَضُم بي اتش بي عدد كبير من المكتبات الحرّة و المجانية، اغلب هذه المكتبات تُعطي بي اتش بي طبيعتها كلغة لكتابة تطبيقات الويب، حيث تحتوي على مكتبات للوصول إلى FTP و مجموعه من مكتبات الوصول إلى قواعد البيانات مثل MySQL و SQLite و غيرها، العديد من الدوال تُشبه دوال لغة C. الإضافاتبي اتش بي تسمح للمطورين بكتابة إضافات لها بإستخدام لغة C لإضافة وظائف جديده، هناك أكثر من نوع للاضافات بعضها يُترجم مع شيفرة بي اتش بي و البعض الآخر يعمل في وقت التشغيل (اثناء تنفيذ البرنامج)، تم استخدام الاضافات لدعم مجموعه من الدوال مثل دوال التحكم في العمليات لنظم يونكس، لإضافة Windows API و cURL و بعض الميزات غير المسبوقه مثل IRC و غيرها الكثير، هُناك موقع يطلق عليه اسم PECL يجمع الاضافات ضمنه. برامج التشفير، تحسين الاداء، التسريعوظيفة برامج التشفير هي تشفير ملفات بي اتش بي إلى صيغه غير مفهومه بهدف إخفاء الشيفره البرمجيه لعدّة اسباب، البعض يرى انها اسباب امنيه، و البعض يرى انها مفيده للبرامج التجاريه، يوجد نوعين لبرامج التشفير، النوع الاول يقوم بإخفاء الشيفره المصدريه، النوع الثاني يقوم بترجمة الشيفره إلى شيفره اخرى، ثم يتم تركيب اضافه معينه حتى تقوم بدورها بترجمة الشيفره الناتجه و جعلها مفهومه من ناحية المحرّك الذي سوف يقوم بتنفيذها، أكثر برامج التشفير شهره هي التي توفرها تقنيات Zend و ionCube المحدوده. اما بالنسبه لبرامج تحسين الاداء، فهي تقوم بتحسين جودة الشيفره المترجمه عن طريق تقليل حجمها و عمل بعض التعديلات التي تقلل من وقت التنفيذ. اخيراً بالنسبه لبرامج التسريع، فوظيفتها تحسين الاداء عن طريق عملية الكاش، حيث تقوم بتخزين الشيفره المُترجمه في الذاكره حتى تستخدمها فيما بعد بدلاً من الحاجه إلى ترجمة و تحويل الشيفره في كُل مرّه يُطلب فيها الملف، تتوفر برامج تجاريه مثل Zend Platform و اخرى حرّه مثل xcache و eAccelerator و APC المُنقحاتتساعد المُنقحات (بالإنجليزية: Debugger) على تحليل الشيفره من اجل ملاحظة الاخطاء، مثالاً على المنقحات Advanced PHP Debugger و Xdebug www.mezzey.net. مُحرّكات القوالبو هي مجموعه من الدوال تُستخدم بغرض فصل شيفرة HTML عن شيفرة PHP، و أحد أشهر محرّكات القوالب Smarty. PEARو هو مشروع يهدف لكتابة مكتبات بإستخدام بي اتش بي، تكون قابله لإعادة الاستخدام، تُكتب مكتبات هذا المشروع دائماً بإستخدام البرمجه غرضية التوجه. الدعم الفنيبي اتش بي لديها دليل يحتوي على توثيق لجميع الدوال التي توفرها، بالإضافه إلى اجابة العديد من الاسئله يمكن ايجادها بعد عمل بحث بسيط على شبكة الانترنت، كما ان مستخدمي بي اتش بي يساعدون بعضهم البعض عن طريق برامج الدردشه، المنتديات و مجموعات الاخبار، و العديد من الاماكن متوفره لمساعدة المبرمجين المبتدئين في بي اتش بي. انتقاداتتُنتقد بي اتش بي لمجموعه من النقاط منها :
ماضي انطلاق الاصدارات الرئيسية
التطوير المستقبليالاصدار 6 من PHP تحت التطوير منذ يوليو 2007، و يهدف إلى حل بعض عيوب PHP 5.
اقرأ ايضاًمصادرمواقع ذات علاقه
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net