位元詩人 [PHP] 程式設計教學:給初學者的簡易介紹

Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

前言

雖然 PHP 不是什麼新鮮流行的玩意兒,但 PHP 仍然是市佔率最高的網頁程式語言 (參考這裡這裡)。這種市佔率高但討論度低的程式語言,恰巧符合悶聲發大財的行事原則。

什麼是 PHP?

PHP 是一種用來撰寫網頁應用程式 (web application) 的程式語言。和其他語言相異處在於 PHP 一開始就是內嵌在 HTML 頁面的模板語言 (template language),不需要再為網頁程式使用其他模板語言。實際上,PHP 不僅可用來生成 HTML 頁面,也可用來生成 XML、JSON 等多種文件,甚至可以動態產生成圖片等非文字檔案。

PHP 死了嗎?

時常會有網路文章討論「PHP 死了嗎?」這是因為 PHP 不再新潮很久了,被誤以為是過時的技術。

但 PHP 仍活躍著,PHP 官方團隊持續維護和更新著這個語言。有許多網頁使用 PHP 製作,像是部落客最喜歡的內容管理系統 WordPress 就是用 PHP 寫的。維基百科和臉書 (註) 也是用 PHP 寫的。更別說許多現存的網站是用 PHP 寫的。只要這些應用還在,PHP 就還是活的技術。

(註) 臉書原本是用 PHP 撰寫,後來逐步遷移到 Hack。詳見後文。

PHP 的用途

根據 PHP 的官方文件,PHP 具有以下三種用途:

  • 撰寫網頁程式
  • 撰寫命令列程式
  • 撰寫視窗程式

絕大部分的 PHP 學習者都是為了撰寫網頁應用程式而學習 PHP。毫無疑問地,這項應用是 PHP 的主要用途。

除此之外,PHP 也可以用來寫命令列程式。光是 PHP 內建的功能就很豐富了。只是這項應用盛行的程度不如 Perl 和 Python。

雖然 PHP 可以寫視窗程式,但 PHP-GTK 看起來很久沒更新了,建議還是換其他更適合的工具吧。

選擇 PHP 版本

由於 PHP 6 是一個未發表的版本,PHP 的大版本號在 PHP 5 後就跳到 PHP 7 和 PHP 8。

雖然 PHP 8 已經問世了,許多主流的 GNU/Linux 發行版的 PHP 版本仍然停留在 PHP 7。所以,使用 PHP 7 來學習 PHP 是可以接受的。至於 PHP 5 則是過期的版本,不會收到安全性更新,也不應繼續使用。

Hack 又是什麼?

Hack 是類似 PHP 的程式語言,可視為 PHP 的方言 (dialect)。實際上,Hack 是為了儘量保持 PHP 相容性的前提下,用來解決臉書的工程議題的語言。在臉書以外的應用相對稀少。

但 Hack 已經不再相容於 PHP 了 (出處)。所以,把 Hack 當成一個類似於 PHP 的新工具比較好。本系列文章不再介紹 Hack 相關的內容,會專注在 PHP 上。

需要使用 GNU/Linux 來學習 PHP 嗎?

絕大部分的 PHP 網頁程式都是架設在 GNU/Linux 上,最好還是要學習 GNU/Linux 命令列環境的使用方式。

GNU/Linux 一開始的困難點在安裝。但是,這個議題可以很輕鬆繞過去。像是在 VirtualBox 上用虛擬機器玩 GNU/Linux。真的玩壞了,砍掉重來即可。或是 AWS Cloud 9 這類結合雲端 IDE 和 GNU/Linux 虛擬機器的開發環境,也相當易用 (參考這裡)。

限於篇幅,本文不說明 GNU/Linux 的使用方式。大家都知道可以看鳥哥的網站,所以站長短期內也不會去寫這些內容。

考量 Windows 使用者眾多,站長會在本系列文章簡單地介紹在 Windows 上使用 PHP 的方式。實際部署 PHP 網頁程式時仍然建議使用 GNU/Linux。

需要學習網頁技術嗎?

一開始在學 PHP 語法的時候,不需要學習網頁技術。但要用 PHP 動態生成網頁時,就要會 HTML 了。至於 CSS 和 JavaScript 可以延後一點學。不會 CSS 只是頁面看起來樸素單調,但不影響其內容。JavaScript 一開始完全不寫也不影響 PHP 的學習。

筆者先前寫過幾篇基礎的網頁技術文章 (HTMLCSSJavaScript)。這些文章很短,只是用來建立基本概念。接著再去看其他的資料,慢慢補足網頁技術的部分。

需要學習 WordPress 嗎?

WordPress 是內容管理系統 (content management system),如果沒有要建立內容型網站 (content website) 的話,不需要學習 WordPress。實際上,很多部落客只會少量的 PHP 或完全不會 PHP,但仍可用 WordPress 製作網站。

待學會 PHP 以後,也可以自行幫 WordPress 寫佈景主題 (theme) 或外掛 (plugin)。有這個能力的話,自然就不是新手,也不需要這系列的文章。

需要學習 PHP 網頁框架嗎?

PHP 在 PHP 網頁框架出現前就存在好長一段時間。原本純 PHP 腳本就可以用來寫網頁程式,使用 PHP 網頁框架寫網頁程式反而是後來才發展出來的方式。

即使想用 PHP 網頁框架來寫網頁程式,而不用純 PHP 腳本,還是要先懂原生 PHP。至少要分得出來那些部分是原生 PHP 就能使用的,那些是網頁框架額外加入的功能。

關於作者

身為資訊領域碩士,位元詩人 (ByteBard) 認為開發應用程式的目的是為社會帶來價值。如果在這個過程中該軟體能成為永續經營的項目,那就是開發者和使用者雙贏的局面。

位元詩人喜歡用開源技術來解決各式各樣的問題,但必要時對專有技術也不排斥。閒暇之餘,位元詩人將所學寫成文章,放在這個網站上和大家分享。