PHP:修订间差异
创建页面,内容为“{{Infobox|标题=PHP|内容={{!}}- ! 中文名 {{!}} PHP {{!}}- ! 英文名 {{!}} PHP(PHP: Hypertext Preprocessor) {{!}}- ! 编程范式 {{!}} 多范式:面向对象、指令式、函数式 {{!}}- ! 设计者 {{!}} Rasmus Lerdorf {{!}}- ! 发行时间 {{!}} 1995年<ref name="wiki-zh">[https://zh.wikipedia.org/wiki/PHP PHP - 维基百科,自由的百科全书]</ref> {{!}}- ! 当前版本 {{!}} PHP 8.4(2024年11月21日)<ref name="zen…” |
IdleTap-bot(留言 | 贡献) 由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行) |
||
| (未显示另一用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
{{Infobox| | {{Infobox | ||
| title = PHP | |||
| label1 = 中文名 | |||
| data1 = PHP | |||
| label2 = 英文名 | |||
| data2 = PHP(PHP: Hypertext Preprocessor) | |||
| label3 = 编程范式 | |||
| data3 = 多范式:面向对象、指令式、函数式 | |||
| label4 = 设计者 | |||
| data4 = Rasmus Lerdorf | |||
| label5 = 发行时间 | |||
| data5 = 1995年<ref name="wiki-zh">[https://zh.wikipedia.org/wiki/PHP PHP - 维基百科,自由的百科全书]</ref> | |||
| label6 = 当前版本 | |||
| data6 = PHP 8.4(2024年11月21日)<ref name="zend-8.4">[https://www.zend.com/blog/php-8-4 What’s New in PHP 8.4 | Zend]</ref> | |||
| label7 = 类型系统 | |||
| data7 = 动态类型、弱类型 | |||
| label8 = 主要实现 | |||
| data8 = Zend Engine | |||
| label9 = 操作系统 | |||
| data9 = 跨平台 | |||
| label10 = 许可证 | |||
| data10 = PHP许可证<ref name="wiki-zh" /> | |||
| label11 = 文件扩展名 | |||
| data11 = .php、.phtml、.php3、.php4、.php5、.php7、.phps | |||
}}'''PHP'''(全称:'''PHP: Hypertext Preprocessor''',递归缩写)是一种开源的通用[[服务器]]端脚本语言,尤其适用于Web开发并可嵌入[[HTML]]中使用<ref name="[[wiki]]-zh" />。PHP的语法借鉴吸收了[[C语言]]、[[Java]]和Perl等流行[[计算机]][[编程语言|语言]]的特点<ref name="wiki-zh" />。PHP最初由Rasmus Lerdorf于1995年开始开发<ref name="wiki-zh" />,目前由The PHP Group维护<ref name="wiki-zh" />。PHP以PHP License作为许可协议<ref name="wiki-zh" />。PHP的应用范围相当广泛,尤其在网页程序的开发上,大多运行在网页服务器上,通过执行PHP代码来产生[[用户]]浏览的网页<ref name="wiki-zh" />。PHP可以在多数的服务器和[[操作系统]]上执行<ref name="wiki-zh" />。根据W3Techs的报告,截至2023年7月,有77.4%的网站使用PHP<ref name="wiki-zh" />。 | |||
== 历史 == | == 历史 == | ||
=== 早期发展(PHP/FI) === | === 早期发展(PHP/FI) === | ||
PHP的第一个版本由Rasmus Lerdorf于1994年创建,是一组用C编程语言编写的简单通用网关接口(CGI)二进制文件,最初用于追踪访问其在线简历的人数<ref name="php-hist">[https://www.php.net/if/history.php PHP: PHP 及其相关项目的历史 - Manual]</ref>。 | PHP的第一个版本由Rasmus Lerdorf于1994年创建,是一组用C[[编程]]语言编写的简单通用网关接口(CGI)[[二进制]]文件,最初用于追踪访问其在线简历的人数<ref name="php-hist">[https://www.php.net/if/history.php PHP: PHP 及其相关项目的历史 - Manual]</ref>。 | ||
1995年6月,Rasmus Lerdorf发布了PHP工具的源代码<ref name="php-hist" />。1995年中期,解析器被重写并命名为PHP/FI Version 2<ref name="php-hist" />。PHP/FI 2.0在经历了数个beta版本的发布后于1997年11月发布了官方正式版本<ref name="wiki-zh" />。 | 1995年6月,Rasmus Lerdorf发布了PHP工具的源代码<ref name="php-hist" />。1995年中期,解析器被重写并命名为PHP/FI Version 2<ref name="php-hist" />。PHP/FI 2.0在经历了数个beta版本的发布后于1997年11月发布了官方正式版本<ref name="wiki-zh" />。 | ||
| 第50行: | 第53行: | ||
=== PHP 6(未发布) === | === PHP 6(未发布) === | ||
2005年,一个由Andrei Zmievski领导的项目启动,旨在通过嵌入International Components for Unicode(ICU)库并在内部将文本字符串表示为UTF-16,为PHP带来原生Unicode支持。由于这会导致语言内部和用户代码的重大变化,计划作为6.0版本发布<ref name="php-hist" />。然而,PHP 6从未正式发布<ref name="php-hist" />。 | 2005年,一个由Andrei Zmievski领导的项目启动,旨在通过嵌入International Components for Unicode(ICU)库并在内部将[[文本]]字符串表示为UTF-16,为PHP带来原生Unicode支持。由于这会导致语言内部和用户代码的重大变化,计划作为6.0版本发布<ref name="php-hist" />。然而,PHP 6从未正式发布<ref name="php-hist" />。 | ||
=== PHP 7 === | === PHP 7 === | ||
2014年至2015年间,PHP 7作为新的主要版本被开发。其基础是一个最初称为PHP下一代(phpng)的分支,由Dmitry | 2014年至2015年间,PHP 7作为新的主要版本被开发。其基础是一个最初称为PHP下一代(phpng)的分支,由Dmitry Sto[[go]]v、Xinchen Hui和Nikita Popov编写,旨在通过重构Zend Engine来优化PHP性能,同时保持几乎完全的语言兼容性<ref name="php-hist" />。截至2014年7月14日,WordPress基准测试显示性能提升近100%<ref name="php-hist" />。重写后的Zend Engine被称为Zend Engine 3<ref name="php-hist" />。由于PHP 6从未发布,为避免混淆,新版本被命名为PHP 7<ref name="php-hist" />。PHP 7.0.0于2015年12月正式发布<ref name="techweb-7">[https://www.techweb.com.cn/network/system/2015-12-07/2237281.shtml PHP 7.0.0 正式发布,速度是 PHP 5.6 的两倍]</ref>。 | ||
=== PHP 8 === | === PHP 8 === | ||
| 第83行: | 第86行: | ||
== 应用场景 == | == 应用场景 == | ||
PHP主要用于服务器端脚本,这是其使用最广泛、最主要的目标领域。PHP可以完成任何CGI程序能够完成的工作,例如收集表单数据、生成动态网页、发送/接 | PHP主要用于服务器端脚本,这是其使用最广泛、最主要的目标领域。PHP可以完成任何CGI程序能够完成的工作,例如收集表单[[数据]]、生成动态网页、发送/接收[[Cookie]]。 | ||
PHP的典型应用场景包括: | PHP的典型应用场景包括: | ||
| 第90行: | 第93行: | ||
* 命令行脚本 | * 命令行脚本 | ||
* API开发 | * API开发 | ||
* | * [[数据库]]管理(与[[MySQL]]、PostgreSQL、[[SQLite]]等数据库交互) | ||
许多知名的内容管理系统和Web框架均基于PHP构建,包括WordPress、Drupal、Joomla | 许多知名的内容管理系统和Web框架均基于PHP构建,包括WordPress、Drupal、Joomla、[[Laravel]]、Symfony等。 | ||
== 扩展与生态系统 == | == 扩展与生态系统 == | ||
| 第101行: | 第104行: | ||
* 使用最新稳定版本的PHP(新版本通常包含性能改进) | * 使用最新稳定版本的PHP(新版本通常包含性能改进) | ||
* 启用OPcache字节码缓存 | * 启用OPcache字节码[[缓存]] | ||
* 使 | * 使用[[Redis]]/Memcached等缓存系统 | ||
* 优化数据库查询 | * 优化数据库查询 | ||