Content deleted Content added
mNo edit summary |
Xose.vazquez (talk | contribs) |
||
(19 intermediate revisions by 13 users not shown) | |||
Line 8:
| designer = [[Rasmus Lerdorf]]
| developer = {{URL|https://php.net/credits/|The PHP Development Team}}, [[Zend Technologies]], {{URL|https://thephp.foundation/|PHP Foundation}}
| latest release version = 8.
| latest release date = {{Start date and age|2024|
| typing = [[Dynamic typing|Dynamic]], [[strong and weak typing|weak]], [[gradual typing|gradual]]<ref>{{cite web|url=https://secure.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration.strict|title=PHP: Function arguments – Manual|website=secure.php.net}}</ref>
| implementations = [[Zend Engine]], [[HHVM]], [[PeachPie]], [[Quercus (software)|Quercus]], [[Parrot virtual machine|Parrot]]
Line 30 ⟶ 28:
The standard PHP interpreter, powered by the [[Zend Engine]], is [[free software]] released under the [[PHP License]]. PHP has been widely ported and can be deployed on most web servers on a variety of [[operating system]]s and [[computing platform|platforms]].<ref name="O'Reilly-2001" />
The PHP language has evolved without a written [[formal specification]] or standard<!-- until 2014 -->, with the original [[implementation]] acting as the ''[[de facto]]'' standard that other implementations aimed to follow. <!-- PHP standard spec dropped at GitHub, besides would have been on old EOLed version of PHP: Since 2014, work has gone on to create a formal PHP specification.<ref>{{cite web|last1=Jackson|first1=Joab|title=PHP gets a formal specification, at last|url=https://www.computerworld.com/article/2490649/php-gets-a-formal-specification--at-last.html|website=Computerworld|publisher=[[International Data Group|IDG]]|date=2014-07-31}}</ref> -->
W3Techs reports that {{as of|2024|10|27|lc=y}} (about two years since <!-- 28 November 2022 --> PHP 7 was discontinued and 11 months after the PHP 8.3 release), PHP 7 is still used by 50.0% of PHP websites, which is outdated and known to be insecure.<ref name="www.php.net">{{Cite web|url=https://www.php.net/eol.php|title=PHP: Unsupported Branches|website=www.php.net}}</ref><ref name="W3Techs – World Wide Web Technology Surveys" /> In addition the even more outdated (discontinued for 5+ <!-- since 31 December 2018 --> years) and insecure PHP 5 is used by 13.2% and the no longer supported PHP 8.0 is also very popular. Meaning <!-- "Version 8 is used by 27.8% of all the websites. .. Version 8.1 is used by 40.2% of all the websites who use PHP version 8." i.e. 8.1 used by 0.278 * 0.402 = 11% of the websites --> the vast majority do not use the supported versions.
== History ==
Line 191 ⟶ 189:
=== PHP 8.2 ===
PHP 8.2 was released on December 8, 2022.<ref>{{Cite web|url=https://www.php.net/ChangeLog-8.php#8.2.0 |title=PHP 8 ChangeLog |access-date=2024-01-05 |website=PHP.net}}</ref> New in this release are <code>readonly</code> classes (whose instance properties are implicitly readonly), [[disjunctive normal form]] (DNF) types, and the <code>random</code> extension, which provides a [[pseudorandom number generator]] with an object-oriented [[API]],<ref>{{Cite web|title=PHP: PHP 8.2.0 Release Announcement |url=https://www.php.net/releases/8.2/en.php |access-date=2024-01-05 |website=PHP.net}}</ref> Sensitive Parameter value redaction, and a ton of other features.
=== PHP 8.3 ===
PHP 8.3 was released on November 23, 2023. This release introduced readonly array properties, allowing arrays to be declared as immutable after initialization. It also added support for class aliases for built-in PHP classes, new methods for random float generation in the Random extension, and enhanced PHP INI settings with fallback value support. Additionally, the new {{Mono|stream_context_set_options}} function provides improved API for stream manipulation, among other updates and deprecations.
=== PHP 8.4 ===
PHP 8.4 was released on November 21, 2024.
=== Release history ===
Line 323 ⟶ 327:
| Readonly classes,<ref>{{Cite web |title=PHP: rfc:readonly_classes |url=https://wiki.php.net/rfc/readonly_classes |access-date=2022-06-16 |website=wiki.php.net}}</ref> {{code|lang=php|code=null}}, {{code|lang=php|code=false}}, and {{code|lang=php|code=true}} as stand-alone types,<ref>{{Cite web |title=PHP: rfc:null-false-standalone-types |url=https://wiki.php.net/rfc/null-false-standalone-types |access-date=2022-06-16 |website=wiki.php.net}}</ref><ref>{{Cite web |title=PHP: rfc:true-type |url=https://wiki.php.net/rfc/true-type |access-date=2022-06-16 |website=wiki.php.net}}</ref> locale-independent case conversion,<ref>{{Cite web |title=PHP: rfc:strtolower-ascii |url=https://wiki.php.net/rfc/strtolower-ascii |access-date=2022-06-16 |website=wiki.php.net}}</ref> disjunctive normal form types,<ref>{{Cite web |title=PHP: rfc:dnf_types |url=https://wiki.php.net/rfc/dnf_types |access-date=2023-02-07 |website=wiki.php.net}}</ref> constants in traits<ref>{{Cite web |title=PHP: rfc:constants_in_traits |url=https://wiki.php.net/rfc/constants_in_traits |access-date=2023-02-07 |website=wiki.php.net}}</ref>
|-
| {{Version |
| 23 November 2023<ref>{{Cite web |date=23 November 2023 |title=PHP 8.3.0 Released! |url=https://www.php.net/archive/2023.php#2023-11-23-2 |access-date=24 November 2023 |website=php.net}}</ref>
| 31 December 2027
| Typed class constants,<ref>{{Cite web |title=PHP: rfc:typed_class_constants |url=https://wiki.php.net/rfc/typed_class_constants |access-date=2023-12-17 |website=wiki.php.net}}</ref> dynamic class constant fetch,<ref>{{Cite web |title=PHP: rfc:dynamic_class_constant_fetch |url=https://wiki.php.net/rfc/dynamic_class_constant_fetch |access-date=2023-12-17 |website=wiki.php.net}}</ref> {{code|lang=php|code=#[\Override]}} attribute,<ref>{{Cite web |title=PHP: rfc:marking_overriden_methods |url=https://wiki.php.net/rfc/marking_overriden_methods |access-date=2023-12-17 |website=wiki.php.net}}</ref> deep-cloning of read-only properties,<ref>{{Cite web |title=PHP: rfc:readonly_amendments |url=https://wiki.php.net/rfc/readonly_amendments |access-date=2023-12-17 |website=wiki.php.net}}</ref> new {{code|lang=php|code=json_validate}} function,<ref>{{Cite web |title=PHP: rfc:json_validate |url=https://wiki.php.net/rfc/json_validate |access-date=2023-12-17 |website=wiki.php.net}}</ref> randomizer additions,<ref>{{Cite web |title=PHP: rfc:randomizer_additions |url=https://wiki.php.net/rfc/randomizer_additions |access-date=2023-12-17 |website=wiki.php.net}}</ref> the command-line linter supports multiple files
|-
| {{Version |
| 21 November 2024<ref>{{Cite web |date=26 March 2024 |title=PHP: todo: php84|url=https://wiki.php.net/todo/php84 |access-date=26 March 2024 |website=php.net}}</ref>
| 31 December 2028
|
|-
| {{Version |p | 8.5}}
| November 2025
| 31 December 2029
|
|- class="sortbottom"
Line 710 ⟶ 719:
| url = https://github.com/cztomczak/phpdesktop
| title = PHP Desktop
| website = [[GitHub]]
}} or discontinued [[PHP-GTK]] extension. PHP-GTK is not included in the official PHP distribution,<ref name="php.net-4" /> and as an extension, it can be used only with PHP versions 5.1.0 and newer. The most common way of installing PHP-GTK is by compiling it from the source code.<ref>{{cite web
| url = http://gtk.php.net/manual/en/tutorials.installation.php
Line 859 ⟶ 869:
{{As of|2013|1}}, PHP was used in more than 240 million [[website]]s (39% of those sampled) and was installed on 2.1 million [[web server]]s.<ref>{{cite web | url=http://news.netcraft.com/archives/2013/01/31/php-just-grows-grows.html | title=PHP just grows & grows | date=2013-01-31 | access-date=2013-04-01 | author=Ide, Andy}}</ref>
{{As of|2024|
{{Stacked bar
|A1=35.3|T1=PHP 8<br />
|A2=
|A3=13.5|T3=PHP 5<br />
|A4=0.1|T4=PHP 4<br />0.1%|C4=#d4d4d4;
}}
Line 870 ⟶ 880:
{{Pie chart
|radius = 160
<!-- PHP version 8 (
|value1 =
|label1 = PHP 8.
|color1 = #66FF66 <!-- Please keep this color scheme for PHP 8: it reflects the actual and security of each branch -->
|
|label2 = PHP 8.
|color2 = #D4F4B4 <!-- Please keep this color scheme for PHP 8: it reflects the actual and security of each branch -->
|value3 = 10.08
|value3 = 14.83 <!-- seemst to be actually 11%, thus outdated numbers here? -->▼
|label3 = PHP 8.
|color3 = #FEF8C6 <!-- Please keep this color scheme for PHP 8: it reflects the actual and security of each branch -->
|value4 = 9.78▼
|label4 = PHP 8.
|color4 = #FFCC66 <!-- Please keep this color scheme for PHP 8: it reflects the actual and security of each branch -->
<!-- PHP version 7 (51%) -->▼
▲ |value5 = 36.57 <!-- Formula: Version 7.4 is used by 71.7% of all the websites who use PHP version 7, so 51 / 100 * 71.7 = 36.57 -->
|color5 = #FF7800 <!-- Please keep this color scheme for PHP 8: it reflects the actual and security of each branch -->
▲ |label5 = PHP 7.4: 71.7% of PHP 7
|color5 = #dc2626▼
|value6 = 35.50 <!-- Formula: Version 7.4 is used by 72.3% of all the websites who use PHP version 7, so 49.1 / 100 * 72.3 = 35.50 -->
|label6 = PHP 7.4: 72.3% of PHP 7
|
|
|
|
|
|
|
|
|
|
|
|
<!-- PHP version 5 (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- PHP version 4 (0.1%) -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|caption = Usage share of PHP versions on
}}
Line 1,112 ⟶ 1,126:
[[Category:Dynamically typed programming languages]]
[[Category:Filename extensions]]
[[Category:Free
[[Category:High-level programming languages]]
[[Category:Internet terminology]]
|