بي.إتش.بي
Paradigm | imperative, object-oriented, Procedural, reflective |
---|---|
Designed by | Rasmus Lerdorf |
Developer | مجموعة پ.إتش.پ |
First appeared | 1995 |
الإصدار المستقر |
5.3.3
/ 22 يوليو2010
|
Typing discipline | Dynamic, weak |
Implementation language | C |
OS | Cross-platform |
License | رخصة بي.إتش.بي |
Filename extensions | .php, .phtml .php5 .phps |
Website | www.php.net |
Major implementations | |
Zend Engine, Roadsend PHP, Phalanger, Quercus, Project Zero, HipHop | |
Influenced by | |
C, Perl, Java, C++, Tcl | |
Influenced | |
PHP4Delphi | |
|
PHP لغة برمجة مفتوحة المصدر تستخدم لتطوير وبرمجة تطبيقات الويب ، الهجريب النحوي للـ البي اتش بي يشبه كثيراً الهجريب النحوي للغة الـ C هذا بالإضافه إلى انها تعمل على منصات متعدده مثل لينكس وويندوز بالإضافه إلى انها تعتبر من لغات البرمجة كائنية التوجه (OOP), كون لغة البي اتش بي مفتوحة المصدر ومجانيه هذا السبب جعلها تنتشر بشكل كبير على الانترنت حيث اصبحت معظم مواقع الانترنت والتطبيقات تُخط بهذه اللغة ومثال على ذلك مشروع الموسوعة الحرة من ويكيبيديا كما ان مجتمع المصدر المفتوح متعاون بالإضافه إلى انه زاخر بالشيفرات البرمجيه الجاهزه للاستخدام والدراسه حيث تخضع اغلب هذه الشيفرات إلى رخصات المصدر المفتوح.
ينظر الكثير من مطوري المواقع إلى لغة PHP كبديل للغة ASP المنتجه من قبل شركة مايكروسوفت وJSP المنتجة من صن ميكروسيستيمز. تقوم شركة صن حالياً بدعم لغة الـ PHP على الرغم من أنها منافسة للـ JSP إلا أنها تدعمها خصوصاً بعد حتى أخذت صن على عاتقها دعم المصادر المفتوحة ودعمت من قبل نظام التشغيل لينكس.
التاريخ
PHP/FI
ظهرت هذه اللغة سنة 1995 على يد راسموس لردورف كانت تسمى وقتها بـ PHP/FI وفي الحقيقه لم تكن لغة برمجه وقتها وانما كانت مجموعه من التطبيقات التي كُتبت بإستخدام لغة Perl اطلق راسموس اسم Personal Home Page Tools على هذه التطبيقات ولانه احتاج إلى تطبيقات اكثر فائده قام راسموس بكتابة تطبيق اكبر بإستخدام لغة C حيث كانت هذه التطبيقات تتصل بقواعد البيانات بعد كتابتها بـ لغة السي كما انها كانت تسمح للمستخدمين من خلالها تطوير تطبيقات مواقع ديناميكيه بسيطه .
اختار راسموس ان تكون الشيفره المصدريه الخاصه بـ PHP/FI متوفره للجميع . كانت PHP/FI وقتها بسيطه جداً وكانت تحوي على بعض الوظائف المتوفره بالاصدارات الحاليه من اللغه ، كما ان المتغيرات بها كانت مشابهه وبشكل كبير للغة Perl ، في عام 1997 تم اطلاق الاصدار 2.0 من PHP/FI حيث بلغ عدد مستخدميها آنذاك 50,000 نطاق.
PHP 3
في عام 1997 تم اعادة كتابة PHP/FI على يد زئڤ سوراسكي وأندي گوتمانز بعدما وجدوا ان PHP/FI 2.0 ليست قويه بما فيه الكفايه من اجل كتابة تطبيق تجاره الكترونيه والذي كانوا يعملون عليه كـ مشروع تخرّج لجامعتهم ، احد اهم الميزات التي تميزت بها PHP ثلاثة عن سابقتها انها اصبحت قابله للتوسّع ونتيجة لذلك توفر مع اللغه الكثير من المخطات مثل قواعد البيانات ، كما انه تم اضافة دعم للبرمجه كائنية التوجه OOP في نفس الاصدار .
PHP 4
في عام 1998 بدأ زئڤ سوراسكي وأندي گوتمانز بإعادة كتابة اساس لغة PHP وكان الهدف من ذلك هوتحسين الاداء للبرامج المُعقده والضخمه ، المحرك الجديد الذي ظهر تم تسميته بـ ZEND والاسم مأخود من اوائل حروف مطوريه ، وبالتالي اعتمدت PHP 4.0 على هذا المحرك حيث تم الاعلان عن هذا الاصدار في عام 2000 حيث احتوى على مجموعه جديده من الميزات مثل الجلسات وغيرها
PHP 5
احدث اصدار من الـ PHP وتم الاعلان عنه في عام 2004 .وهناك اصدارات جديدة من الممكن مشاهدتها في المسقط الرسمي : www.php.net
الترخيص
ان لغة الب اتش بي لغة برمجة مجانية تم اصدارها تحت رخصة الب اتش بي والتي تنص علي التالي: يفضل عدم استخدام الاسم بي اتش بي للترويج عن اي منتج من انتاج هذه البرمجية دون استصدار اذن مكتوب مسبقاُ
مما يتعارض مع تعريف الرخصة العامة للاستخدام بسبب وجود قيود علي استخدام مصطلح بي اتش بي.
تاريخ الاصدارات
المعنى | |
---|---|
احمر | نسخة غير مدعومة حالياً |
أخضر | نسخة ما تزال مدعومة |
ازرق | نسخة مستقبلية |
Version | Release date | Supported until | Notes |
---|---|---|---|
1.0 | 8 يونيو1995 | Officially called "Personal Home Page Tools (PHP Tools)". This is the first use of the name "PHP". | |
2.0 | 1 نوفمبر 1997 | Officially called "PHP/FI 2.0". This is the first release that could actually be characterised as PHP, being a standalone language with many features that have endured to the present day. | |
3.0 | 6 يونيو1998 | 20 أكتوبر 2000 | Development moves from one person to multiple developers. Zeev Suraski and Andi Gutmans rewrite the base for this version. |
4.0 | 22 مايو2000 | 23 يونيو2001 | Added more advanced two-stage parse/execute tag-parsing system called the Zend engine. |
4.1 | 10 ديسمبر 2001 | 12 مارس 2002 | Introduced "superglobals" ( , , , etc.) |
4.2 | 22 أبريل 2002 | 6 سبتمبر 2002 | Disabled register_globals by default. Data received over the network is not inserted directly into the global namespace anymore, closing possible security holes in applications. |
4.3 | 27 ديسمبر 2002 | 31 مارس 2005 | Introduced the command-line interface (CLI), to supplement the CGI. |
4.4 | 11 يوليو2005 | 7 أغسطس 2008 | Fixed a memory corruption bug, which required breaking binary compatibility with extensions compiled against PHP version 4.3.x. |
5.0 | 13 يوليو2004 | 5 سبتمبر 2005 | Zend Engine II with a new object model. |
5.1 | 24 نوفمبر 2005 | 24 أغسطس 2006 | Performance improvements with introduction of compiler variables in re-engineered PHP Engine. Added PHP Data Objects (PDO) as a consistent interface for accessing databases. |
5.2 | 2 نوفمبر 2006 | 6 يناير 2011 | Enabled the filter extension by default. Native JSON support. |
5.3 | 30 يونيو2009 | 14 أغسطس 2014 | Namespace support; late static bindings, jump label (limited goto), closures, PHP archives (phar), garbage collection for circular references, improved Windows support, sqlite3, mysqlnd as a replacement for libmysql as underlying library for the extensions that work with MySQL, fileinfo as a replacement for mime_magic for better MIME support, the Internationalization extension, and deprecation of ereg extension. |
5.4 | 1 مارس 2012 | 3 سبتمبر 2015 |
Trait support, short array syntax support. Removed items: register_globals , safe_mode , allow_call_time_pass_reference , , and . Built-in web server. Several improvements to existing features, performance and reduced memory requirements.
|
5.5 | 20 يونيو2013 | 10 July 2016 | Support for generators, finally blocks for exceptions handling, OpCache (based on Zend Optimizer+) bundled in official distribution. |
5.6 | 28 أغسطس 2014 | 31 ديسمبر 2018 | Constant scalar expressions, variadic functions, argument unpacking, new exponentiation operator, extensions of the use statement for functions and constants, new phpdbg debugger as a SAPI module, and other smaller improvements. |
6.x | Not released | N/A | Abandoned version of PHP that planned to include native Unicode support. |
7.0 | 3 ديسمبر 2015 | 3 ديسمبر 2018 | Zend Engine ثلاثة (performance improvements and 64-bit integer support on Windows), uniform variable syntax,AST-based compilation process, added , bitwise shift consistency across platforms, (null coalesce) operator,Unicode code point escape syntax, return type declarations, scalar type (integer, float, string and boolean) declarations,<=> "spaceship" three-way comparison operator,generator delegation,anonymous classes, simpler and more consistently available CSPRNG API, replacement of many remaining internal PHP "errors" with the more modern exceptions, and shorthand syntax for importing multiple items from a namespace. |
7.1 | 1 December 2016 | 1 December 2019 | void return type, class constant visibility modifiers |
7.2 | 30 November 2017 | 30 November 2020 | Object parameter and return type hint, Libsodium extension, Abstract method overriding, Parameter type widening |
7.3 | 12 December 2018 (Expected) | 12 December 2021 (Expected) | Flexible Heredoc and Nowdoc syntax, support for references and array deconstruction with list(), PCRE2 support, hrtime() function |
الاستخدام
غالباً ما تعمل لغة پي إتش پي على مزود ويب، معتبرة كود بي إتش بي كداخل وتحرر صفحات الويب كخارج.
وقد اصبح بناء اللامب مشهوراً جداً في صناعة الويب كطريقة برمجيات ويب آمنة، غير مكلفة، ويمكن الاعتماد عليها. بي إتش بي مشار إليها كحرف الباء في لامب بجانب لينكس(ل)، اباتشي(ا) وماي اس كيوال(م). وقد ظهرت أيضاً بناءات أخرى كوامب مستبدلة لينكس بـ ويندوز(و)، ومامب مستبدله لينكس بـ ماك اواس. يمكن استعمال بي إتش بي مع نسبة كبيرة من انظمة ادارة قواعد البيانات،
ويعمل على كثير من سيرفرات الويب المشهورة، ومتوفر للكثير من أنظمة التشغيل المتنوعة. تلك الليونة مكنت بي إتش بي من الانتشار على الكثير من خوادم الانترنت حول العالم، فأكثر من 18 مليون عنوان مسقط تعمل على خوادم منزل عليها بي إتش بي.
مثال على برامج بي إتش بي مشهوره لخوادم الانترنت تضم بي إتش بي بي بي phpBB، جوملا joomla، وورد بريس Wordpress وميدياويكي MediaWiki.
البداية في ال PHP نستطيع كتاب الكود على أي محرر نصوص وصفظه في لاحقه PHP يجب حتى نضع هذا الملف ضمن سيرفر فاذا أردنا حتى نجعل جهازنا تعبير عن سيرفر يجب حتى ننسخ برنامج معين Appserv مثلا ننسخ الملف ضمن مجلد www الموجود داخل البرنامج ثم نخط في المستعرض الذي لدينا localhost\file name.php file name هواسم الملف والذيقد يكون اختياريا
تطبيقات تم برمجتها بإستخدام الـ PHP :
- البوابة العربية (مجلة المبرمج العربي)
- VBZooM
- vBulletin
- PHPNuke
- phpBB
- MySmartBB
- IPB
انظر أيضا
- PEAR (PHP Extension and Application Repository)
- PHP Extension Community Library (PECL)
- PHP accelerator
- List of PHP accelerators
- List of AMP packages
- List of PHP editors
- PHP-GTK
- Template processor
- XAMPP (Free and open source cross-platform web server solution stack package)
- Zend Server
- Hack (programming language)
- Comparison of programming languages
- Comparison of web frameworks
الهوامش
- ^ Rasmus Lerdorf began assembling C code originally written for CGI scripts into a library and accessing the library's functions, including SQL queries, through HTML-embedded commands in 1994; by 1995 the commands had taken the shape of PHP code that would be familiar of users of the language today. Lerdorf, Rasmus (2007-04-26). "PHP on Hormones - history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California" (mp3). The Conversations Network. Retrieved 2009-12-11.
Every day I would change the language drastically, and it didn't take very long, so by 1995, mid-1995 or so, PHP looked like this. This isn't that far from what PHP looks like today, actually.
- ^ "Unsupported Branches". php.net. Retrieved 2015-11-14.
- ^ خطأ استشهاد: وسم
<ref>
غير سليم؛ لا نص تم توفيره للمراجع المسماةabout PHP
- ^ "PHP: PHP أربعة ChangeLog". The PHP Group. 2008-01-03. Retrieved 2008-02-22.
- ^ "Using PHP from the command line". PHP Manual. The PHP Group. Retrieved 2009-09-11.
- ^ "PHP 4.4.0 Release Announcement". PHP Mannual. The PHP Group. Retrieved 2013-11-24.
- ^ "PHP: PHPخمسة ChangeLog". The PHP Group. 2007-11-08. Retrieved 2008-02-22.
- ^ "PHP manual: PDO". The PHP Group. 2011-11-15. Retrieved 2011-11-15.
- ^ "Built-in web server". Retrieved March 26, 2012.
- ^ "Supported Versions". php.net. Retrieved 2017-12-13.
- ^ "PHP 5.5.0 changes". php.net. Retrieved 2015-03-03.
- ^ "Migrating from PHP 5.5.x to PHP 5.6.x". php.net. Retrieved 2014-03-24.
-
^ "Resetting PHP 6".
There have been books on the shelves purporting to cover PHPستة since at least 2008. But, in March 2010, the PHPستة release is not out — in fact, it is not even close to out. Recent events suggest that PHPستة will not be released before 2011 — if, indeed, it is released at all.
-
^ "PHPسبعة moves full speed ahead".
Recent versions of PHP have been part of the 5.x release series, but there will be no PHP 6. "We're going to skip [version] 6, because years ago, we had plans for a 6, but those plans were very different from what we're doing now," Gutmans said. Going right to versionسبعة avoids confusion.
-
^ خطأ استشهاد: وسم
<ref>
غير سليم؛ لا نص تم توفيره للمراجع المسماةphp7final
-
^ خطأ استشهاد: وسم
<ref>
غير سليم؛ لا نص تم توفيره للمراجع المسماةreleaseprocess
-
^ خطأ استشهاد: وسم
<ref>
غير سليم؛ لا نص تم توفيره للمراجع المسماةphpng
- ^ "PHP: rfc:size_t_and_int64_next". php.net. Retrieved 16 December 2014.
-
^ خطأ استشهاد: وسم
<ref>
غير سليم؛ لا نص تم توفيره للمراجع المسماةuvs
- ^ "PHP: rfc:abstract_syntax_tree". php.net. Retrieved 16 December 2014.
- ^ "PHP: rfc:closure_apply". php.net. Retrieved 16 December 2014.
- ^ "PHP: rfc:integer_semantics". php.net. Retrieved 16 December 2014.
- ^ "PHP: rfc:isset_ternary". php.net. Retrieved 16 December 2014.
- ^ "RFC: Unicode Codepoint Escape Syntax". 2014-11-24. Retrieved 2014-12-19.
-
^ خطأ استشهاد: وسم
<ref>
غير سليم؛ لا نص تم توفيره للمراجع المسماةreturn-types
-
^ خطأ استشهاد: وسم
<ref>
غير سليم؛ لا نص تم توفيره للمراجع المسماةscalar-types
- ^ "Combined Comparison (Spaceship) Operator". php.net. Retrieved 2015-05-21.
- ^ "PHP RFC: Generator Delegation". php.net. Retrieved 2015-05-21.
- ^ "PHP RFC: Anonymous Classes". php.net. Retrieved 2015-05-21.
- ^ "PHP RFC: Easy User-land CSPRNG". php.net. Retrieved 2015-05-21.
- ^ "PHP RFC: Exceptions in the engine (for PHP 7)". php.net. Retrieved 2015-05-21.
- ^ "PHP RFC: Group Use Declarations". php.net. Retrieved 2015-05-21.
- ^ "PHP: rfc:void_return_type". php.net. 2015-11-09. Retrieved 2015-11-14.
- ^ "PHP: rfc:class_constant_visibility". php.net. 2015-10-27. Retrieved 2015-12-08.
- ^ "PHP: rfc:object-typehint". wiki.php.net.
- ^ "PHP: rfc:libsodium". wiki.php.net.
- ^ "PHP: rfc:allow-abstract-function-override". wiki.php.net.
- ^ "PHP: rfc:parameter-no-type-variance". wiki.php.net.
- ^ "PHP: todo:php73". wiki.php.net.
- ^ "PHP: rfc:flexible_heredoc_nowdoc_syntaxes". wiki.php.net.
- ^ "PHP: rfc:list_reference_assignment". wiki.php.net.
- ^ "PHP: rfc:pcre2-migration". wiki.php.net.
- ^ "PHP: hrtime - Manual". php.net.
وصلات خارجية
- No URL found. Please specify a URL here or add one to Wikidata.
- بي.إتش.بي at Curlie
- PHP Reference Manual
- نطقب:GitHub
- PHP and Symfony: Structure, Stability and Flexibility