跳至內容

PHP

輕之舟百科,讓知識輕裝啟航
PHP
中文名PHP
英文名PHP(PHP: Hypertext Preprocessor)
編程範式多範式:面向對象、指令式、函數式
設計者Rasmus Lerdorf
發行時間1995年[1]
當前版本PHP 8.4(2024年11月21日)[2]
類型系統動態類型、弱類型
主要實現Zend Engine
作業系統跨平台
許可證PHP許可證[1]
文件擴展名.php、.phtml、.php3、.php4、.php5、.php7、.phps

PHP(全稱:PHP: Hypertext Preprocessor,遞歸縮寫)是一種開源的通用伺服器端腳本語言,尤其適用於Web開發並可嵌入HTML中使用[3]。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)二進制文件,最初用於追蹤訪問其在線簡歷的人數[4]。

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

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

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

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

PHP 6(未發布)

[編輯 | 編輯原始碼]

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

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

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

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

版本演進

[編輯 | 編輯原始碼]

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編譯器可以為數學運算等計算密集型用例提供顯著的性能提升[4]。

社區與治理

[編輯 | 編輯原始碼]

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

參考文獻

[編輯 | 編輯原始碼]