PHP

云云​(對話 | 貢獻)2026年7月7日 (二) 02:06的修訂 (创建页面,内容为“{{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…”)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

PHP(全稱:PHP: Hypertext Preprocessor,遞歸縮寫)是一種開源的通用伺服器端腳本語言,尤其適用於Web開發並可嵌入HTML中使用[1]。PHP的語法借鑑吸收了C語言、Java和Perl等流行計算機語言的特點[1]。PHP最初由Rasmus Lerdorf於1995年開始開發[1],目前由The PHP Group維護[1]。PHP以PHP License作為許可協議[1]。PHP的應用範圍相當廣泛,尤其在網頁程序的開發上,大多運行在網頁伺服器上,通過執行PHP代碼來產生用戶瀏覽的網頁[1]。PHP可以在多數的伺服器和作業系統上執行[1]。根據W3Techs的報告,截至2023年7月,有77.4%的網站使用PHP[1]。

歷史

早期發展(PHP/FI)

PHP的第一個版本由Rasmus Lerdorf於1994年創建,是一組用C編程語言編寫的簡單通用網關接口(CGI)二進制文件,最初用於追蹤訪問其在線簡歷的人數[2]。

1995年6月,Rasmus Lerdorf發布了PHP工具的原始碼[2]。1995年中期,解析器被重寫並命名為PHP/FI Version 2[2]。PHP/FI 2.0在經歷了數個beta版本的發布後於1997年11月發布了官方正式版本[1]。

PHP 3

PHP 3.0是第一個與現代PHP語法結構相似的版本[2]。它由Andi Gutmans和Zeev Suraski於1997年從頭重寫[2],他們在發現PHP/FI 2.0對於開發電子商務應用功能不足後開始了重寫工作[2]。PHP 3.0於1998年末正式發布[2]。

PHP 4

PHP 4於2000年第二季度發布,其核心採用了Zend Engine[1]。

PHP 5

PHP 5於2004年7月發布,引入了完整的面向對象模型[1]。

PHP 6(未發布)

2005年,一個由Andrei Zmievski領導的項目啟動,旨在通過嵌入International Components for Unicode(ICU)庫並在內部將文本字符串表示為UTF-16,為PHP帶來原生Unicode支持。由於這會導致語言內部和用戶代碼的重大變化,計劃作為6.0版本發布[2]。然而,PHP 6從未正式發布[2]。

PHP 7

2014年至2015年間,PHP 7作為新的主要版本被開發。其基礎是一個最初稱為PHP下一代(phpng)的分支,由Dmitry Stogov、Xinchen Hui和Nikita Popov編寫,旨在通過重構Zend Engine來優化PHP性能,同時保持幾乎完全的語言兼容性[2]。截至2014年7月14日,WordPress基準測試顯示性能提升近100%[2]。重寫後的Zend Engine被稱為Zend Engine 3[2]。由於PHP 6從未發布,為避免混淆,新版本被命名為PHP 7[2]。PHP 7.0.0於2015年12月正式發布[3]。

PHP 8

PHP 8於2020年11月26日發布[2][4]。這是一個主要版本,包含多項新特性和破壞性變更[2]。主要新特性包括:命名參數、聯合類型、註解(Attributes)、構造器屬性提升、match表達式、nullsafe運算符、即時編譯(JIT)[4]。PHP 8的JIT編譯器可以為某些用例提供顯著的性能提升[2]。

PHP 8.4於2024年11月21日發布[5]。

版本演進

PHP的主要版本演進如下[1]:

  • PHP 1 – 1995年
  • PHP 2 – 1995–1997年
  • PHP 3 – 1997–2000年
  • PHP 4 – 2000年第二季度
  • PHP 5 – 2004年7月
  • PHP 7 – 2015年12月
  • PHP 8 – 2020年11月

設計

語法

PHP的語法大量借鑑自C、Java和Perl[1]。PHP代碼通常嵌入HTML中,通過`<?php ... ?>`標籤進行分隔。

類型系統

PHP最初是一種動態類型、弱類型的語言[1]。

面向對象

自PHP 5起,PHP包含了一個完整的對象模型[1]。

應用場景

PHP主要用於伺服器端腳本,這是其使用最廣泛、最主要的目標領域。PHP可以完成任何CGI程序能夠完成的工作,例如收集表單數據、生成動態網頁、發送/接收Cookie。

PHP的典型應用場景包括:

  • 動態網站和Web應用程式開發(如內容管理系統、電子商務平台、博客系統等)
  • 命令行腳本
  • API開發
  • 數據庫管理(與MySQL、PostgreSQL、SQLite等數據庫交互)

許多知名的內容管理系統和Web框架均基於PHP構建,包括WordPress、Drupal、Joomla、Laravel、Symfony等。

擴展與生態系統

PHP擁有豐富的擴展庫生態系統。PHP擴展可以通過PECL(PHP Extension Community Library)和PEAR(PHP Extension and Application Repository)等方式獲取。PHP發行包中包含了大多數開發者最常用到的核心擴展庫。

性能

PHP的性能優化主要涉及以下方面:

  • 使用最新穩定版本的PHP(新版本通常包含性能改進)
  • 啟用OPcache字節碼緩存
  • 使用Redis/Memcached等緩存系統
  • 優化數據庫查詢

PHP 8引入的JIT編譯器可以為數學運算等計算密集型用例提供顯著的性能提升[2]。

社區與治理

PHP由The PHP Group維護,這是一個由主要PHP開發者組成的志願者團體[1]。PHP的開發過程公開進行,代碼託管在GitHub上。

參考文獻

  1. ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 引用錯誤:無效的 <ref> 標籤,未定義名稱為 wiki-zh 的參考文獻內容文字。
  2. ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 PHP: PHP 及其相關項目的歷史 - Manual
  3. ↑ PHP 7.0.0 正式發布,速度是 PHP 5.6 的兩倍
  4. ↑ 4.0 4.1 PHP 8.0正式發布:支持JIT編譯器,性能提升高達3倍
  5. ↑ 引用錯誤:無效的 <ref> 標籤,未定義名稱為 zend-8.4 的參考文獻內容文字。