2024 日本 PHP 研討會

什麼是 PHP?它能做什麼?

什麼是 PHP?

PHP (遞迴縮寫,為 _PHP: Hypertext Preprocessor_)是一種廣泛使用的開放原始碼通用腳本語言,特別適合網頁開發,並且可以嵌入 HTML 中。

很好,但那是什麼意思?舉個例子

範例 #1 簡介範例

<!DOCTYPE html>
<html>
<head>
<title>範例</title>
</head>
<body>

<?php
echo "嗨,我是 PHP 腳本!";
?>

</body>
</html>

PHP 頁面不像 C 或 Perl 等語言需要許多指令來輸出 HTML,而是將程式碼嵌入 HTML 之中,以執行特定動作(例如在本例中輸出 嗨,我是個 PHP 指令碼!)。PHP 程式碼以特殊的 起始和結束處理指令 <?php?> 包圍,允許在「PHP 模式」之間切換。

PHP 與客戶端 JavaScript 之類的語言不同之處在於,PHP 程式碼是在伺服器端執行的,產生 HTML 後再發送給客戶端。客戶端只會收到執行指令碼的結果,而不會知道底層的程式碼為何。網頁伺服器甚至可以設定為使用 PHP 處理所有 HTML 檔案,如此一來,使用者就無法分辨是否使用了 PHP。

使用 PHP 最棒的地方在於它對新手來說非常簡單易學,同時也為專業程式設計師提供了許多進階功能。別害怕閱讀 PHP 的長長的功能列表。使用 PHP,幾乎任何人都可以快速上手並立即編寫簡單的指令碼。

雖然 PHP 的開發重點是伺服器端指令碼,但它還能做更多的事情。請繼續閱讀,並在 PHP 可以做什麼? 章節中了解更多,或者直接前往 入門教學 開始學習網頁程式設計。

PHP 可以做什麼?

幾乎任何事。PHP 主要專注於伺服器端指令碼,因此它可以執行任何其他 CGI 程式可以執行的任務,例如收集表單資料、產生動態頁面內容,或傳送和接收 Cookie。但 PHP 能做的遠不止於此。

PHP 指令碼主要用於兩個方面。

  • 伺服器端指令碼。這是 PHP 最廣泛使用和主要目標領域。要使其運作,需要三個要素:PHP 解析器(CGI 或伺服器模組)、網頁伺服器和網頁瀏覽器。為了方便 PHP 程式設計的實驗,所有這些都可以在本地機器上執行。請參閱 安裝說明 章節以了解更多資訊。
  • 命令列指令碼。PHP 指令碼可以在沒有任何伺服器或瀏覽器的情況下執行,只需要 PHP 解析器即可。這種用法非常適合使用 cron(在 Unix 或 macOS 上)或工作排程器(在 Windows 上)定期執行的指令碼。這些指令碼也可用於簡單的文字處理任務。請參閱 PHP 命令列用法 章節以了解更多資訊。

PHP 可以在所有主要作業系統上 使用,包括 Linux、許多 Unix 變體(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、macOS、RISC OS,以及其他可能的系統。PHP 也支援現今大多數的網頁伺服器,包括 Apache、IIS 以及許多其他伺服器。這也包含任何可以利用 FastCGI PHP 二進位檔的網頁伺服器,例如 lighttpd 和 nginx。PHP 可以作為模組或 CGI 處理器運作。

因此,使用 PHP,開發人員可以自由選擇作業系統和網頁伺服器。此外,他們還可以選擇使用程序式程式設計或物件導向程式設計 (OOP),或是兩者的混合。

PHP 不僅限於輸出 HTML。PHP 的功能還包括輸出豐富的檔案類型,例如圖像或 PDF 檔案、加密資料和傳送電子郵件。它也可以輕鬆輸出任何文字,例如 JSON 或 XML。PHP 可以自動產生這些檔案,並將其儲存在檔案系統中,而不是列印出來,形成動態內容的伺服器端快取。

PHP 最強大且最重要的功能之一就是它支援各種資料庫。使用資料庫專用的擴充套件(例如,mysql),或使用像 PDO 這樣的抽象層,或者透過 ODBC 擴充套件連接到任何支援開放式資料庫連接標準的資料庫,編寫支援資料庫的網頁都非常簡單。其他資料庫可以使用 cURLsockets,例如 CouchDB。

PHP 也支援使用 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(在 Windows 上)以及無數其他協定與其他服務通訊。它也可以開啟原始網路通訊端並使用任何其他協定進行互動。PHP 支援幾乎所有網頁程式語言之間的 WDDX 複雜資料交換。談到互連性,PHP 支援 Java 物件的實例化,並將它們透明地用作 PHP 物件。

PHP 具有實用的文字處理功能,其中包括與 Perl 相容的正規表示式(PCRE),以及許多用於解析和存取 XML 文件的擴充套件和工具。PHP 將所有 XML 擴充套件標準化在 libxml2 的堅實基礎上,並擴展了功能集,增加了 SimpleXMLXMLReaderXMLWriter 的支援。

還有許多其他有趣的擴充套件,它們按字母順序類別分類。此外,還有一些額外的 PECL 擴充套件,它們可能在 PHP 手冊中沒有說明文件,例如 » XDebug

此頁面不足以列出 PHP 可以提供的所有功能和優點。請閱讀關於安裝 PHP的部分,並參閱函式參考部分,以了解這裡提到的擴充套件的說明。

新增註解

使用者提供的註解

此頁面沒有使用者提供的註解。
To Top