什麼是 PHP? WordPress 核心腳本語言的初學者指南

已發表: 2022-03-22

正如我們在 WPKube 博客上談論的那樣,WordPress 有很多移動部件。 因此,它還使用多種不同的編程語言和腳本來讓所有東西都可以交流和協同工作。 雖然您經常會讀到“三位一體”的語言——HTML、CSS 和 JavaScript——但您還可能聽說過第四種語言:“PHP:超文本預處理器”(PHP)。 如果您閱讀了該術語並仍然問,什麼是 PHP? ,我們可以幫忙!

PHP 是一種腳本語言,可幫助 WordPress 的不同元素與服務器通信。 這使它可以訪問數據庫,使您的站點動態化,並且幾乎可以運行該節目。 如果沒有 PHP,我們就不會擁有我們所知道的現代網絡。

在這篇文章的過程中,我們將回答這個問題:什麼是 PHP? 您將了解使用它的好處、它如何與 WordPress 配合使用,以及您的網站需要如何與該語言的當前版本兼容。 最後,我們還將討論 PHP 的一些替代方案,這些替代方案可能會影響 WordPress 未來的代碼庫。

Web 工作原理(及其使用的編程語言)的簡要入門

對於不知情的人,大多數網站文件都存在於 Web 服務器上。 這使您能夠以最佳方式拉取和推送文件,並且擁有不同於普通計算機的基礎架構。 但是,網站有兩個元素需要就其提供的數據採取不同的方法:

  • 客戶端。 對於這篇文章的目的,客戶端是您的瀏覽器(儘管如果我們談論安全文件傳輸協議 (SFTP),它可能是您的計算機)。
  • 服務器端。 Web 服務器完成了這個角色,在基本意義上是一個單一的 Web 服務器。 但是,您可以有多個服務器來處理數據庫的不同任務。

當談到神聖的三位一體網絡語言時,這些都是客戶端的。 他們處理以下內容:

  • 超文本標記語言 (HTML)。 將此視為您網站的結構語言。 如果您查看我們的 HTML5 備忘單,您會發現它允許您為您的站點定義“容器”和分區。
  • 級聯樣式表 (CSS)。 如果 HTML 是您網站的結構,那麼 CSS 就是設計語言。 您可以將各種顏色、版式和形狀添加到您的網站。 準確地說,您在網頁上看到的幾乎所有內容都使用 CSS 來展示它。
  • JavaScript。 這是網絡上很酷的腳本語言,非常受歡迎。 幾乎 98% 的 Web 在客戶端使用 JavaScript 來生成動畫元素、交互性等。 它有助於網站變得動態,而不是靜態。

但是,由於還需要考慮服務器端功能,並且大多數網站都使用數據庫,因此您還需要另一種語言來幫助客戶端和服務器端進行對話。 輸入 PHP。

PHP 是什麼(以及它是如何工作的)

PHP 是一種服務器端腳本語言,充當 Web 的基本部分。 它在 Web 服務器上運行,並讓您在前端執行的任何操作都為它所知。 正因為如此,它有一項重要的工作要執行。

例如,考慮導航到網站的簡單任務。 您將在瀏覽器中鍵入 URL,當您確認操作時,PHP 代碼將在服務器上運行並返回相關的 HTML、CSS 和 JavaScript。 雖然您經常可以在瀏覽器中看到客戶端語言和標記,但很少看到 PHP。

顯示 WPKube 網站的瀏覽器,其中打開了開發人員工具。

事實上,您在前端看到 PHP 代碼的唯一情況是由於錯誤:要么是“錯誤編碼”,要么是您網站的真正問題。

當然,一個網站也會有一個數據庫,PHP 對於訪問它並作為請求的一部分返回數據同樣重要。 雖然它不是唯一可用的服務器端腳本語言(我們稍後會討論),但它擁有近 80% 的巨大市場份額。

腳本可以為網站做什麼

在這一點上,應該清楚 PHP(以及一般的腳本)如何幫助站點,但您可能不完全了解它可以做什麼。 雖然您將在後面的部分中看到一些真實世界的示例,但我們可以為您提供一些片段供您思考:

  • 這是在網站上生成動態內容(例如表單數據)的首選方式。
  • 您可以使用腳本來處理 cookie 信息。
  • 腳本將管理和使用 Web 服務器上的文件和文件夾。
  • 在大多數情況下,除了結構化查詢語言 (SQL),您的數據庫還需要使用腳本來添加、刪除和修改其數據。

因此,腳本語言是必不可少的組成部分——“四大”之一——當涉及到 PHP 時,它是周圍的主要語言。

為什麼大多數 Web 使用 PHP

因為幾乎 80% 的 Web 使用 PHP,所以合乎邏輯的結論是它有一些特別之處。 事實上,使用 PHP 的好處與編寫腳本的好處一樣多:

  • PHP 是一種開源語言。 這意味著它可以免費下載並在您認為合適的時候使用。
  • 有數百個(如果不是數千個)關於如何學習 PHP 的教程,而且學習曲線很淺。
  • 由於該語言非常流行,幾乎所有可用的主機都提供了大量支持。
  • PHP 還提供對 MySQL 數據庫的內置支持,這使其成為許多“後端開發人員”的首選。
  • 更新和維護計劃是定期的。 在主機的支持下,您經常會看到新版本的出現。 例如,PHP 7.3 和 7.4 很受歡迎,而 PHP 8 為您的網站提供了巨大的改進,但尚未完全採用。

再談最後一點,數據庫可以有各種“風格”,如果您根本沒有數據庫,WordPress 會拋出錯誤。 MySQL 很流行,但 MariaDB 是一個完整的開源分支,提供了完全的兼容性。

MariaDB 徽標。

PHP 支持這兩者,但也允許您連接到任何類型的數據庫類型,例如 PostgreSQL,甚至是新的現代示例,例如 MongoDB。

然而,PHP 確實有一些批評者說代碼在基本層面上令人困惑,而其他現代編碼語言可以做得更好。 即便如此,WordPress 使用 PHP,因此僅出於這個原因,最好了解更多有關平台和語言如何工作的信息。

WordPress 如何在後台使用 PHP

WordPress本身並沒有以與其他應用程序不同的方式使用 PHP。 但是,它確實需要一些解釋。 如果您前往 WordPress.org 網站,您可以下載平台核心文件的完整版本:

WordPress.org 下載頁面,突出顯示藍色下載按鈕。

如果您提取 ZIP 文件並查看其內容,您會注意到大部分文件都以.php擴展名結尾:

一個文件瀏覽器,顯示所有 WordPress 的核心文件和文件夾。

每個想要使用腳本語言的文件都需要該擴展名。 但是,您也會在其中看到 HTML,稍後我們將向您展示一個示例。 WordPress 使用的主題和插件也使用相同類型的文件。

在您網站的文件中,還會有大量“功能”、“掛鉤”(“操作”和“過濾器”)以及更多幫助 WordPress 以安全和典型的方式使用 PHP 語言的內容。 您甚至可以在您的functions.php文件中使用它們來增強平台的功能集。

這些片段可以緊湊而簡潔。 例如兩個詞the_content(); 功能將顯示整個帖子或頁面內容。 因此,PHP 具有強大的功能,幾乎可以在您的網站上實現您需要的任何東西。 這也是 WordPress 可以成為如此靈活的內容管理系統 (CMS) 的原因。

WordPress 中使用的 PHP 的真實示例

包含搜索欄的 WordPress 404 頁面。

為了向您展示如何在 WordPress 中使用 PHP,我們可以打開一個文件並進行查看。 我們將使用404.php文件,因為它簡短易懂:

 <?php get_header(); ?> <header class="page-header alignwide"> <h1 class="page-title"><?php esc_html_e( 'Nothing here', 'twentytwentyone' ); ?></h1> </header><!-- .page-header --> <div class="error-404 not-found default-max-width"> <div class="page-content"> <p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try a search?', 'twentytwentyone' ); ?></p> <?php get_search_form(); ?> </div><!-- .page-content --> </div><!-- .error-404 --> <?php get_footer();

為簡潔起見,我們刪除了一些註釋,但這裡的核心代碼足以使用。 您會注意到前三行聲明代碼是 PHP ( <?php ?> )。 事實上,正如您將看到的,這些標籤需要為每一段 PHP 代碼添加書籤。

該文件首先調用一個函數來獲取站點的標題,然後在結束標記之後,有一堆 HTML 代碼。 這顯示了不同語言如何協同工作的一些靈活性(和復雜性)。 您可以在同一個文件中編寫 HTML 和 PHP,但您必須嚴格遵守每種語言。 HTML 不需要開始和結束標記。

在整個 HTML 中,您還會注意到一兩行 PHP。 這就是動態內容進入 WordPress 的方式。 片段將從您的服務器和數據庫中提取數據,並將其顯示在您在 HTML 中的任何位置。 您使用 HTML 定義結構,並使用 PHP 顯示數據。

在文件末尾,您再次打開一個新的 PHP 標記,並告訴頁面顯示頁腳內容。 這是一個簡單的概述,但它確實顯示了 WordPress 有多少活動部分。 它還根據您安裝的插件或主題的數量說明了為什麼您可能會遇到錯誤,特別是如果它們是沒有開發人員維護的糟糕示例。

PHP 的替代品(以及為什麼 WordPress 不使用它們)

儘管 PHP 在服務器端腳本方面佔據 80% 的市場份額,但它並不是您聽到的唯一解決方案。 事實上,開發人員可以使用許多其他語言。 例如:

  • 紅寶石。 它與 PHP 一樣古老,但不是專用的 Web 開發語言。 即便如此,它還是將 Ruby on Rails 視為開發人員“堆棧”的一部分,並且擁有龐大的粉絲群。
  • ASP.NET。 這是微軟對服務器端腳本的看法。 它擁有 10% 的市場份額,並被用作大中型運營的腳本語言。 它具有比 PHP 更高的質量,但開發成本更高。
  • 爪哇。 您不應將 Java 與 JavaScript 混淆,因為它們都是不同的語言,具有不同的側重點。 Java 非常適合企業級應用程序,易於調試、快速且安全。 雖然開發成本可能會更高,但在另一個時間線中,WordPress 可以使用 Java 作為其腳本語言。
  • Python。 您可能會知道 Python 是一種在數據科學中流行的通用語言。 即便如此,再加上 Django 或 Flask 等框架,Python 還是一種結構簡單的出色服務器端語言。

您會發現這些語言加起來僅佔所有網站的 15-20% 左右。 PHP 提供了低開發成本、淺學習曲線和高水平支持的結合。 至於為什麼 WordPress 使用 PHP,這些因素都起到了一定的作用。

然而,公平地說,約定也是一個因素。 WordPress 的原始分支 (b2/cafelog) 使用 PHP,所以 WordPress 也是這樣做的。 這不是一個糟糕的選擇,實際上讓 WordPress 提供了我們今天認為理所當然的所有元素。

包起來

WordPress 的幕後工作比大多數用戶意識到的要多得多。 事實上,有一種編程語言可以幫助 CMS 的文件與 Web 服務器和數據庫一起工作。 PHP 是 Web 開發的核心語言,也是 WordPress 工作方式的核心。

這篇文章試圖回答這個問題:什麼是 PHP? 在整個過程中,我們討論了它可以做什麼,腳本一般是如何工作的,甚至是來自 WordPress 文件的 PHP 代碼示例。 雖然還有其他腳本語言也有很多優點,但 PHP 是市場領導者,為每個 WordPress 網站提供了幾乎無與倫比的功能。

本文是否幫助您了解 PHP 是什麼,您還有其他問題嗎? 在下面的評論部分詢問!