Movatterモバイル変換


[0]ホーム

URL:


انتقل إلى المحتوى
ويكيبيديا
بحث

بي إتش بي

من ويكيبيديا، الموسوعة الحرة
هذه المقالة بحاجة إلىتحديث. يُرجى المساعدة في تحديث هذه المقالة لتعكس الأحداث الأخيرة أو المعلومات المتاحة حديثًا.(أكتوبر 2025)
بي إتش بي
الشعار
معلومات عامة
التصنيف
  القائمة ...
لغة برمجة كائنية التوجه[لغات أخرى] — لغة برمجة متعددة الأنماط[لغات أخرى]لغة مفسرةلغة برمجة نصية[1][2] — لغة برمجة إجرائية[لغات أخرى] — لغة برمجة أمرية[لغات أخرى]لغة برمجة[3]برمجيات حرةعدل القيمة على Wikidata
التنميط
ظهرت في
8 يونيو 1995[4][5]عدل القيمة على Wikidata
صممها
نظام التشغيل
الرخصة
التطوير
المطور
الإصدار الأول
8 يونيو 1995عدل القيمة على Wikidata
الإصدار الأخير
  • 8.5.0
    (20 نوفمبر 2025)عدل القيمة على Wikidata
المستودع
التأثير
متأثرة بـ
متفرقات
امتدادات الملفات
  القائمة ...
php[14] — phar[15] — phtml — php4 — php3 — php5 — phps — php7 — phtعدل القيمة على Wikidata
موقع الويب
php.net[16](الإنجليزية)عدل القيمة على Wikidata

تعديل -تعديل مصدري -تعديل ويكي بياناتحول القالب

صيغة php

بي إتش بي (PHP: Hypertext Preprocessor) («المعالج المسبق للنصوص الفائقة») كانت مجموعة من التطبيقات التي كتبت باستخدام لغة بيرل أطلقراسموس اسم Personal Home Page Tools الصفحة الرئيسية الشخصية هيلغة برمجة نصية صممت أساسًا من أجل استخدامها لتطوير وبرمجة تطبيقاتالويب. كما يمكن استخدامها لإنتاج برامج قائمة بذاتها وليس لها علاقة بالويب فقط.[17]

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

تاريخ

[عدل]

PHP/FI

[عدل]

ظهرت php أولا في سنة1995 على يدراسموس ليردورف كانت تسمى وقتها بـ PHP/FI وفي الحقيقة لم تكن لغة برمجة وقتها وإنما كانت مجموعة من التطبيقات التي كتبت باستخدام لغةبيرل أطلق راسموس اسم Personal Home Page Tools على هذه التطبيقات، لأنه احتاج فيما بعد إلى تطبيقات أكثر فائدة قام راسموس بكتابة تطبيق أكبر باستخدام لغةسي حيث أصبحت قادرة على الاتصالبقواعد البيانات كما أنها كانت تسمح للمستخدمين بتطوير تطبيقات مواقع ديناميكية بسيطة، اختار راسموس أن تكون الشيفرة المصدرية الخاصة بـ PHP/FI متوفرة للجميع لذا كان يمكن لأي شخص أن يستخدمها ويقوم بتحسينها والمشاركة في حل أخطاءها ومشاكلها.

كانت PHP/FI وقتها تحوي على بعض الوظائف المتوفرة بالإصدارات الحالية من اللغة، كما أنالمتغيرات كانت تشبه متغيراتبيرل، وكانت تركيبها النحوي يشبهبيرل بالرغم من بساطتها ومحدودياتها.

في عام1997 تم إطلاق الإصدار 2.0 من PHP/FI، حيث بلغ عدد مستخدميها آنذاك 50,000 نطاق، وكان هناك مجموعة من الأشخاص الذين يشاركون في التطوير، وتم إطلاق الإصدار الرسمي من 2.0 في شهرنوفمبر من نفس العام بعد العديد من الإصدارات التجريبيةبيتا.

بي إتش بي 3

[عدل]

في عام1997 تم إعادة كتابة PHP/FI على يدزيف سوراسكي،أندي جتمانز بعدما وجدوا أن PHP/FI 2.0 ليست قوية بما فيه الكفاية من أجل كتابة تطبيق تجارة إلكترونية والذي كانوا يعملون عليه كمشروع تخرج لجامعتهم، كان هناك تعاون بينهم وبين مؤسس اللغةراسموس ليردورف على أن تكون PHP 3.0 هي النسخة الرسمية بعد PHP/FI.

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

وفي هذا الإصدار تم تغيير اسم اللغة ووضعها تحت اسم جديد وهو بي إتش بي (بدون FI) والذي كان يحمل اختصارا لمعنى جديد مختلف عن الإصدار السابق والمعنى هو "PHP: Hypertext Preprocessor".

تم إطلاق بي إتش بي 3.0 في يونيو1998 بعد 9 أشهر من الاختبارات.

بي إتش بي 4

[عدل]

في عام1998، وبعد الانطلاق الرسمي لبي إتش بي 3.0 بقليل بدأزيف سوراسكيوأندي جتمانز بإعادة كتابة أساس لغة بي إتش بي وكان الهدف من ذلك هو تحسين الأداء للبرامج المعقدة والضخمة وتحسين قابلية اللغة للتوسع.

المحرك الجديد الذي ظهر بعد إعادة الكتاب تم تسميتهبمحرك زند واسم «زند» مأخوذ من أوائل حروف أسماء مطوريه، ونجحوا في تحقيق اهدافهم عن طريق هذا المحرك، وتم الإعلان عنه في عام1999.

تعتمد بي إتش بي 4.0 على هذا المحرك وتم الإعلان عن هذا الإصدار من بي إتش بي في مايو2000، بالإضافة إلى تحسين الأداء في هذا الإصدار احتوى كذلك على مجموعة جديدة من الميزات مثل دعمه لعدد أكبر منخوادم الوب، الجلسات، طرق آمنة جديدة لمعالجة دخل المستخدم وغيرها.

وقد تم إعلان إيقاف تطوير ودعم بي إتش بي 4 في13 يوليو،2007.[18]

<?php$page_title = "My website";?><html> <head> <title><?phpecho $page_title;?> </title> </head> <body> Hello </body></html>

الاستخدام

[عدل]
مخطط موقع ويب بلغة PHP

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

تقوم بي إتش بي أساسا بأخذ الملف الذي يحتوي على أوامر البي إتش بي (ملفات.php) كمدخل وتقوم بإخراج بيانات قابلة للعرض.

في الإصدار الرابع من بي إتش بي، تقوم بتحويل الملفات المكتوبة باستخدام البي إتش بي إلىشيفرة البايت لمعالجتها عن طريقمحرك زند، وفي الإصدار الخامس تقدمت لغة بي إتش بي بتقنيات عالية جدا وكان آخر إصدار من النسخة الخامسة هو 5.5.9.

استخدامها ناحية الخادم

[عدل]

في الحقيقة صممت بي إتش بي من أجل استخدامها من ناحية الخادم وبناء تطبيقاتويب تفاعلية، وقد أصبح بناءلامب مشهورا جدا في صناعة الويب كطريقة برمجيات ويب آمنة، غير مكلفة، ويمكن الاعتماد عليها. بي إتش بي مشار إليها كحرف P في LAMP كلغة برمجة، بجانبلينكس (L) كنظام تشغيل،أباتشي (A) كخادم ويبوماي إس كيو إل (M)كنظام إدارة قواعد البيانات.وقد ظهرت أيضا بناءات أخرىكوامب مستبدلةلينكسبويندوز (W)،ومامب مستبدلةلينكسبماك أو اس (M).

يمكن استخدام بي إتش بي مع عدد كبير منأنظمة إدارة قواعد البيانات، وبما أنها متوفرة على عدد مننظم التشغيل جعل لها مرونة مكنت بي إتش بي من الانتشار.

استخدامها كسطر أوامر

[عدل]

توفر بي إتش بي كذلكواجهة سطر أوامر، لذا يمكن استخدامها لتطوير مجموعة من البرامج التي تسهل المهام الإدارية لمدراء النظم.

استخدامها ناحية العميل

[عدل]

توفر بي إتش بي مكتباتواجهات مستخدم رسومية مثلجتك+ (عن طريقبي إتش بي-جتك)وكيو تي (عن طريقكيوت) مما يجعل تطوير البرامج غير المتعلقة بالويب أمرا ممكنا.

التركيب النحوي

[عدل]

مثال لطباعةبرنامج Hello World:

<?phpecho'Hello World';?>

وأيضا بهذا الشكل

<?phpecho'Wikipedia'?>

تقوم PHP بتنفيذ ما هو بين الوسمين <?php و?> فقط، وأي شيء خارج هذا هذين الوسمين فيتم طباعته مباشرة ولا يتم معاملته كشيفرة PHP، تمكن هذه الميزة من إدخال شيفرات الـ PHP داخل شيفرات HTML، مثلا:

<html> <head> <title><?php$page_title='Wikipedia';echo$page_title;?> </title> </head> <body> Hello</body></html>

المتغيرات تكون مسبوقة بعلامة الدولار - $ - ومن غير الضروري تعريف نوع المتغير، بعكس أسماء الدوال والاصناف، المتغيرات حساسة لحالة الحرف، ومن أجل وضع قيمة للمتغير يتم استخدام علامات الاقتباس المزدوجة - " - أو المفردة - ' - أو بدون أي علامة اقتباس بحيث تكون القيمة في هذه الحالة على إحدى الأشكال التالية:

بي إتش بي لديها ثلاثة أنواع من التعليقات، /* */ والذي يستخدم للتعليقات متعددة الاسطر، // و# والذين يستخدمون للتعليقات ذات السطر الواحد.

أنواع البيانات

[عدل]

تقوم بي إتش بي بتخزين الأرقام بمدى يعتمد علىالمعالج التي تعمل عليه، هذا المدى نموذجيا يكون32 بت من الأعداد الصحيحة، متغيرات الأعداد الصحيحة يمكن أن تكون قيمتهاعشرية أوثمانية أوست عشرية.الأعداد الحقيقية كذلك تخزن بمدى يعتمد علىالمعالج.

لغة بي إتش بي تحتوي كذلك على نوعبوليان والذي يسمى بـ "booleen"، كما في لغةبيرل الأرقام الأكبر أو الأصغر من صفر يمكن أن تعتبر 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();

الموارد

[عدل]

المكتبات

[عدل]

تضم بي إتش بي عدد كبير من المكتبات الحرة والمجانية، أغلب هذه المكتبات تعطي بي إتش بي طبيعتها كلغة لكتابة تطبيقات الوب، حيث تحتوي على مكتبات للوصول إلىFTP ومجموعة من مكتبات الوصول إلىقواعد البيانات مثلماي إس كيو إلوإس كيو لايت وغيرها، العديد من الدوال تشبه دوال لغةسي.

الإضافات

[عدل]

بي إتش بي تسمح للمطورين بكتابة إضافات لها باستخدام لغةسي لإضافة وظائف جديدة، هناك أكثر من نوع للإضافات بعضها يترجم مع شيفرة بي إتش بي والبعض الآخر يعمل في وقت التشغيل (أثناء تنفيذ البرنامج)، تم استخدام الإضافات لدعم مجموعة من الدوال مثل دوال التحكم في العمليات لنظميونكس، لإضافةواجهة برمجة تطبيقات ويندوزوكورل وبعض الميزات غير المسبوقة مثلآي.آر.سي وغيرها الكثير، هناك موقع يطلق عليه اسمPECL يجمع الإضافات ضمنه.

برامج التشفير، تحسين الأداء، التسريع

[عدل]

وظيفة برامج التشفير هي تشفير ملفات بي إتش بي إلى صيغة غير مفهومه بهدف إخفاء الشيفرة البرمجية لعدة أسباب، البعض يرى أنها أسباب أمنية، والبعض يرى أنها مفيدة للبرامج التجارية، يوجد نوعين لبرامج التشفير، النوع الأول يقوم بإخفاء الشيفرة المصدرية، النوع الثاني يقوم بترجمة الشيفرة إلى شيفرة أخرى، ثم يتم تركيب إضافة معينة حتى تقوم بدورها بترجمة الشيفرة الناتجة وجعلها مفهومة من ناحية المحرك الذي سوف يقوم بتنفيذها، أكثر برامج التشفير شهرة هي التي توفرهاتقنيات ZendوionCube المحدودة.

أما بالنسبة لبرامج تحسين الأداء، فهي تقوم بتحسين جودة الشيفرةالمترجمة عن طريق تقليل حجمها وعمل بعض التعديلات التي تقلل من وقت التنفيذ.

أخيرا بالنسبة لبرامج التسريع، فوظيفتها تحسين الأداء عن طريق عمليةالكاش، حيث تقوم بتخزين الشيفرة المترجمة فيالذاكرة حتى تستخدمها فيما بعد بدلا من الحاجة إلى ترجمة وتحويل الشيفرة في كل مرة يطلب فيها الملف، تتوفر برامج تجارية مثلZend Platform وأخرى حرة مثلxcacheوeAcceleratorوAPC

المنقحات

[عدل]

تساعدالمنقحات على تحليل الشيفرة من أجل ملاحظة الأخطاء، مثالا على المنقحاتAdvanced PHP DebuggerوXdebug

محركات القوالب

[عدل]

وهي مجموعة من الدوال تستخدم بغرض فصل شيفرةHTML عن شيفرة بي إتش بي، وأحد أشهر محركات القوالبسمارتي.

PEAR

[عدل]

وهو مشروع يهدف لكتابة مكتبات باستخدام بي إتش بي، تكون قابلة لإعادة الاستخدام، تكتب مكتبات هذا المشروع دائما باستخدامالبرمجة كائنية التوجه.

الدعم الفني

[عدل]

بي إتش بي لديها دليل يحتوي على توثيق لجميع الدوال التي توفرها، بالإضافة إلى إجابة العديد من الأسئلة يمكن إيجادها بعد عمل بحث بسيط على شبكة الإنترنت، كما أن مستخدمي بي إتش بي يساعدون بعضهم البعض عن طريقبرامج الدردشة،المنتدياتوالمجموعات البريدية، والعديد من الأماكن متوفرة لمساعدة المبرمجين المبتدئين في بي إتش بي.

انتقادات

[عدل]

تنتقد بي إتش بي لمجموعة من النقاط منها:

  • بي إتش بي تستخدم ميزةعلامات الاقتباس السحرية (بالإنجليزية:Magic quotes) والتي تحاول تجاهل العلامتين ' و " في النصوص التي تستخدم في قواعد البيانات من أجل منع ثغراتحقن SQL. هذا يؤدي إلى بعض التشويش حيث لا يتم التفريق بين البيانات التي تعالجها هذه الميزة من غيرها التي لا تعالجها.
  • بي إتش بي لا تحتوي على دعم حقيقيليونيكود.

تاريخ انطلاق الإصدارات الرئيسية

[عدل]
الإصدارتاريخ الانطلاقأهم التعديلات
PHP 1.08 يونيو،1995كان اسمها رسميا "Personal Home Page Tools (PHP Tools)". هذا الإصدار هو أول من استخدم اسم PHP.
PHP Version 2 (PHP/FI)16 أبريل،1996كان مبرمجها يعتبرها "أسرع وأبسط أداة" لإنشاء المواقع التفاعلية.
PHP 3.06 يونيو،1998التطوير انتقل من شخص واحد إلى عدة أشخاص،زيف سوراسكيوأندي جتمانز أعادوا كتابة أساس هذا الإصدار.
PHP 4.022 مايو،2000تم إضافة نظام محترف للتنفيذ أطلق عليه اسممحرك زند.
PHP 4.110 ديسمبر،2001ظهور المصفوفات ($_GET، $_SESSION إلخ).
PHP 4.222 أبريل،2002إغلاق register_globals افتراضيا.
PHP 4.327 ديسمبر،2002ظهورواجهة سطر الاوامر.
PHP 4.411 يوليو،2005
PHP 5.013 يوليو،2004ظهور الإصدار الثاني منمحرك زند
PHP 5.124 نوفمبر،2005
PHP 5.22 نوفمبر،2006تشغيل مرشح الإضافات بشكل افتراضي.
PHP 5.330 يونيو،2009إضافة Namespace وإرجاع أخطاء Undefined للمتغيرات التي لا تحمل قيم.
PHP 5.41 مارس،2012دعمTrait، دعم خاصية الجملة القصيرة. العناصر التي تمت إزالتها: register_globals، safe_mode، allow_call_time_pass_reference، Session_register ()، Session_unregister () و Session_is_registered (). خادم ويب مدمج. العديد من التحسينات على الميزات الموجودة، والأداء وانخفاض متطلبات الذاكرة.
PHP 73 ديسمبر،2015
PHP 826 نوفمبر،2020
8.4 PHP21 نوفمبر،2024

التطوير المستقبلي

[عدل]

الإصدار 6 من بي إتش بي تحت التطوير منذ يوليو 2007، ويهدف إلى حل بعض عيوب بي إتش بي 5.

  • دعم حقيقي لـيونيكود.
  • ازالة خاصيةعلامات الاقتباس السحريه magic_quotes.
  • إزالة دوال ereg واعتماد preg بديل عنها. <هذه مكاتب تنحدر عنها عدة دوال ليست داله واحده فقط>
  • ازالة المتغيرات HTTP_*_VARS.
  • ازالة الخاصية register_globals.
  • ازالة الخاصية safe_mode.

انظر أيضًا

[عدل]

المراجع

[عدل]
  1. ^وصلة مرجع:http://php.net/. الوصول: 25 أغسطس 2016.
  2. ^مذكور في:ملف استنادي متكامل. مُعرِّف الملف الاستنادي المُتكامِل (GND):4546126-0. لغة العمل أو لغة الاسم:الألمانية. الوصول: 31 مايو 2021. المُؤَلِّف: مكتبة ألمانيا الوطنية.
  3. ^مذكور في:الموسوعة الدنماركية الكبرى. مُعرِّف دنستور الدنماركي:PHP. لغة العمل أو لغة الاسم:الدنماركية. الوصول: 9 أغسطس 2023. تاريخ النشر: 1994.
  4. ^اب"Google Groups". اطلع عليه بتاريخ2018-12-11.
  5. ^اب"PHP: History of PHP - Manual". اطلع عليه بتاريخ2016-08-25.
  6. ^وصلة مرجع:http://lerdorf.com/bio/. لغة العمل أو لغة الاسم:الإنجليزية. الوصول: 31 مايو 2021.
  7. ^وصلة مرجع:http://php.net/license/. الوصول: 25 أغسطس 2016.
  8. ^ابوصلة مرجع:http://php.net/manual/en/history.php.php.
  9. ^وصلة مرجع:https://www.technotification.com/2018/04/best-php-frameworks.html. الوصول: 14 أغسطس 2018.
  10. ^اب"Release 8.5.0". 20 نوفمبر 2025. اطلع عليه بتاريخ2025-11-21.
  11. ^"php.internals: Changes to Git commit workflow". 28 مارس 2021. اطلع عليه بتاريخ2021-04-29.
  12. ^ابج"PHP: Preface - Manual". اطلع عليه بتاريخ2016-08-25.
  13. ^"Rasmus Lerdorf | PHP on Hormones". 29 يوليو 2013. اطلع عليه بتاريخ2016-03-19.
  14. ^وصلة مرجع:https://fileinfo.com/extension/php,.
  15. ^وصلة مرجع:https://www.php.net/manual/en/book.phar.php.
  16. ^ابوصلة مرجع:https://techterms.com/definition/php.
  17. ^"مقدمة: ماذا يمكن لـ بي إتش بي أن تقوم به ؟".php.net. مؤرشف منالأصل في 2019-04-02. اطلع عليه بتاريخ2016-06-21.
  18. ^"الإعلان عن إيقاف تطوير بي إتش بي 4".php.net. مؤرشف منالأصل في 2019-04-07. اطلع عليه بتاريخ2016-06-21.

وصلات خارجية

[عدل]
بي إتش بي فيالمشاريع الشقيقة
عام
أنظمة تشغيل
تطوير
مديرو نوافذ
منظمات
تراخيص
التحديات
شخصيات
موارد
تطبيقات تنفيذية
نظام إدارة المحتوى
إطارات العمل
فحص البرمجيات
بيئات تطوير متكاملة
أدوات تحكم الواجهة الرسومية
واجهات الويب (Web API)
جانب الخادم (Server-side)
بروتوكول ( ميثاق إتصالات )
Server APIs
Apache modules
مواضيع
جانب المستخدم (Client-side)
إضافة المتصفح
واجهة برمجة تطبيقات الويب  [لغات أخرى]
W3C
مجموعة خرونوس  [لغات أخرى]
Others
مواضيع القمة
مواضيع القمة
وطنية
أخرى
مجلوبة من «https://ar.wikipedia.org/w/index.php?title=بي_إتش_بي&oldid=72315767»
تصنيفات:
تصنيفات مخفية:

[8]ページ先頭

©2009-2025 Movatter.jp