再談php是什麼?論php的前世今生
#(php吉祥物-大象)
php是什麼?
PHP(外文名稱:PHP: Hypertext Preprocessor,中文名稱:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。 PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的程式語言相比,PHP是將程式嵌入到HTML(標準通用標記語言下的一個應用)文件中去執行,執行效率比完全產生HTML標記的CGI要高許多; PHP還可以執行編譯後程式碼,編譯可以達到加密和最佳化程式碼運行,使程式碼運行更快。
php的前世
PHP1
PHP最初是作為一個快速、實用的工具包出現的。 1994年,為了在自己的網站上增加一個小巧而實用的訪客追蹤系統,Rasmus Lerdorf編寫了PHP的雛型程式。這是一個用Perl封裝的簡單工具。由於使用效果並不理想,Rasmus又用C語言重寫了這個工具。
後來,更多的人注意到這個輕巧而簡單的程序,並且要求增加更多的功能。 Rasmus決定發布一個完整的版本,將其命名為Personal Home Page Tools。後來,Rasmus又發布了一個名為FI的可以做SQL查詢的工具。
PHP2
1996年Rasmus發布了PHP/FI2.0,這是一個基本完善的PHP程式包。它不僅可以存取資料庫,而且可以嵌入HTML頁面。此時,PHP/FI2.0 以及吸引了大量的程式開發人員。在眾多程式設計師之中,也包括了Zeev Suraski和Andi Gutmans,他們就是後來PHP3的始作者。由於不滿足於PHP/FI在大型專案中的表現,Zeev和Andi作了重大的改進。
PHP3
1998年末,PHP3的第一個官方正式版本發行,其特色是具有更好的執行效果以及更清晰的結構。除此之外,PHP3的強大的功能還在於它的可擴充性。除了給最終用戶提供資料庫、協定和API的基礎結構,它的可擴展性吸引了大量的開發人員加入並提交新的模組。
這個全新的語言伴隨著一個新的名稱發布。這個名稱更具廣泛意義,而不僅限於「個人主頁工具」的概念。它被命名為簡單的縮寫“PHP”。這是一種遞歸的縮寫,它的全名為-PHP:Hypertext Preprocessor。
不久,Zeev Suraski和Andi Gutmans投入了全新的PHP的開發。設計目標是增強程式運作效能和PHP自身程式碼的模組性。
PHP4
新的PHP核心被成為「Zend」(以Zeev和Andi的名字命名)引擎,於2000年5月隨著新版PHP4.0發布。 PHP4的效能較PHP3有顯著的提升。相同的腳本在PHP4中運行,最高可以有近10倍的效能提升。而Zend提供了的腳本優化器,可以把原始程式轉為二進位編譯程式碼,提高效能的同時,也保護了程式原始碼不被揭露。
在PHP4中增加了對各種Web伺服器(如Apache、IIS/PWS及OmniHTTPd 等)的支援。此外,PHP4也增加了一些新的語言特性,如豐富的陣列操作函數、完整的會話機制、對輸出快取的支援等。 PHP4也對一些跨平台的技術提供了擴充支持,如對Adobe PDF、SWF、Java、Microsoft.NET等技術的支援。
PHP4也增加了對類於物件的支援。儘管PHP4在這方面並不完善,但還是大大改善了對物件導向程式設計的支援。 PHP4中的Pear函式庫(PHP Extension and Application Repository)就是物件導向的應用與實務的最佳例證。
PHP5
儘管PHP4的發展是如此迅猛,但較之於其他流行的開發語言還是缺乏一些關鍵的功能特性,例如,PHP4中的物件導向功能並不完善,也無法實現異常(Exception)的捕捉與處理。因此在一些特殊問題的處理上還是捉襟見肘的。
2004年7月,PHP5正式版本的發布,標誌著一個全新的PHP時代的到來。它的核心是第二代Zend引擎,並引入了對全新的PECL模組的支援。 PHP5的最大特點是引入了物件導向的全部機制,並且保留了向下的兼容性。程式設計師不必再編寫缺乏功能性的類,並且能夠以多種方法實現類別的保護。另外,在物件的整合等方面也不再有問題。使用PHP5引進了型別提示和異常處理機制,能更有效的處理和避免錯誤的發生。
php的現在
#PHP7
2016年1月,PHP 7.0.2 正式版發布,在過去的數年中,PHP一直是第四大最受歡迎的程式語言,驅動全球超過2億多個網站,全球超過81.7%的公共網站在伺服器端採用PHP。 PHP在這個星期有了自2004年以來最大的飛躍,因為PHP 7已經發布。 PHP 7最大特色是大幅改善了效能,在某些WordPress基準測試當中,效能可以達到PHP 5.6的3倍。
PHP 7還有其他一些比較小的改進,例如顯著減少記憶體使用,加入返回類型聲明等等功能。 PHP 7包含了一些重大安全改進,如除去PHP安全模式,加上魔術引號,有一些新的保留關鍵字等等。
php的未來
php7的版本目前正在穩定的更迭中,相信會有越來越多的開發者將自己的專案升級到php7,也會有越來越多的開發者選擇php來作為自己的開發語言,衷心的希望php能真正成為世界上最好的語言。
番外篇
#初入web開發,我該學習什麼語言
# php、python和ruby都適合做WEB開發,對於web開發初學者來說,最大的問題就是學習哪種程式語言更適合未來的職業發展並且更有前景。要選擇適合自己的語言,首先你要考慮php、python和ruby各自的優缺點是什麼、他們的學習週期有多長等問題。很多人比較關心“python和php哪個好學”,"ruby和python哪個好?"。網路上也有很多文章,像是「PHP已死」、「PHP學習曲線」、「如何用好Python」等,更多可以閱讀初入Web開發,php、python和ruby該學哪一個?
php人才待遇如何
2017年要來了,又到跳槽季,最近被問到最多的話題就是,PHP薪資哪家強?前景如何?大家似乎都很關心PHP產業發展以及自己的薪資是否具有競爭力,php中文網為大家詳細分析了PHP「錢景」如何?
php學習從入門到精通多久
# php的入門想比於其它語言是很容易的,基本上透過兩三個月的學習,就能製作出一個簡單的基於php的網站了,當然這是一個平均值,更加詳細的請看php難學嗎? php學習從入門到精通需要多久?
php開發工具推薦
# 初學php,肯定需要編輯器還要運行環境的支持,php中文網為大家推薦了幾款實用的工具,大家可以比較一下,看哪些工具適合自己2017年最好用的9個php開發工具推薦
php開發框架推薦
PHP開發框架讓你可以花更多的時間去創造真正的Web程序,而不是寫重複性的程式碼。 php框架學習:高效web開發必用的8個php開發框架
#
熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。