光輝咖碼

架設網站的起點

搜尋

PHP 是什麼,架設網站最適合的程式語言

PHP 簡單易學,但不代表 PHP 是一個功能簡單,無法建構大型嚴謹的程式,在網站應用的領域,沒人敢說 PHP 不適合用來開發網站。本文為簡單的 PHP 教學,對軟體開發有興趣,可以參考認識什麼是 PHP。

1. 什麼是 PHP ?

PHP 是一種腳本程式語言,編寫後可直接執行。

PHP 主要用在 SERVER SIDE 的網站程式開發,根據 W3Techs 的報告,截至2021年9月:「有78.9%的網站使用PHP。」

from WikiPedia

PHP 主要在後端執行,後端執行表示 PHP 程式,是執行在 SERVER SIDE,不是執行在 CLIENT SIDE。

後端和前端程式有什麼差別呢,JavsScript 就是在前端執行的程式語言,程式會下載到 (前端) 我們的電腦 (瀏覽器) 中執行,但 JavaScript 也可以在後端執行,現在不能單單只靠程式語言種類,來判斷它是在後端還是前端執行。

PHP 很早以前就發明了,在 1995 年,它的目的是用來開發動態網頁,但不代表它就只能網站開發,程式語言只是個工具,端看開發者要如何使用。

PHP 是跨平台的開發語言,Linux、Windows、macOS 都可以使用 PHP。

PHP 能夠開發:

  • 動態網站
  • 爬蟲程式
  • WordPress 外掛和佈景主題
  • 各種網站應用程式
  • 資料庫應用程式

2. PHP 已死,沒有人在用 PHP 開發 ?

討厭 PHP 的人好像蠻多的,電腦科學相關科系的主要語言課程,也不是 PHP。

PHP 表面上不是很流行,也不是很有趣的開發工具,執行效率沒有那麼快,在 PHP 5.x 版本之前,也許可以這麼想,但 7.x 版本之後,情況已經不同。

php 效能比較圖
圖片來源:Habr

PHP 自 7.x 版本開始,效率是翻倍提升。

PHP 已經加入很多現代開發語言特性,開發工具和開發流程也很符合現代的開發方法,你可以選擇喜歡的開發 IDE,有很多 Framework 可以選擇,有很多 Open Source Libray 可以使用。

事實上,有將近 80% 的網站使用 PHP 開發,SERVER SIDE 程式語言排名中,與第二名的差距也非常懸殊。

程式語言排名
圖片來源:W3Techs.com
PHP 版本的使用分佈,來源: https://w3techs.com

有大約 30% 的網站使用 WordPress 架設,WordPress 也是目前最流行的部落格系統,WordPress 就是使用 PHP 語言開發,並持續不停的更新版本,是非常活躍的開放軟體專案。

PHP 也許不適合開發桌面應用程式、不適合開發手機 APP,不適合用於人工智慧,但在架設網站這個方面,PHP 絕對非常適合。

不管有多少工程師不喜歡 PHP,對 PHP 有多大的抱怨和意見,PHP 還是會活得好好的,會有更多的 PHP 網站繼續上線。

3. 有什麼公司在使用 PHP,就業市場好嗎 ?

最有名的就是 Facebook,想不到吧。

使用 php 的公司
圖片來源: stackshare

維基百科使用 PHP,特斯拉網站也是使用 PHP。

架設內容網站,一般都會使用 CMS,例如 WordPress、Drupal,這些 CMS 就是使用 PHP 開發。

stackshare 是一個分享開發工具的網站,從這可以看到還不少公司使用 PHP。

如果有這麼多公司在使用 PHP,這樣的市場會不好嗎?

搜尋一下 104 PHP 工程師,總共有一萬八千多個職缺。

php 工程師職缺

比較一下 104 Java 工程師,Java 是後端程式語言,程式語言排名都維持在前三,也是差不多一萬八千多個職缺。

java工程師職缺

如果想成為自由工作者,PHP 非常適合,搜尋 Fiverr 會發現 PHP 的案子,比 Java 語言多很多。

Fiverr 是什麼?

Fiverr 是一個自由工作接案平台,全世界的自由工作者都可以在這找到適合自己的案子。

PHP 的薪資好嗎?看看這些公司開的職缺,並不差,有發展值得投資。

薪資是以工程師的能力決定,不是由程式語言決定。

4. 現在開始學習 PHP,會不會過時,技術落後 ?

PHP 已不可同日而語,過去使用 PHP 開發網頁程式,就是有什麼寫什麼,程式邏輯和網頁顯示混在一起,雖然開發方便但會造成高維護成本,和難以擴充功能。

現代 PHP 語言,已支持許多特性:

  • 物件導向程式設計
  • 函數式編程
  • 事件驅動程式開發

現代程式語言支持的特性,PHP 一樣支持。

程式語言的好壞不在於它什麼時候發明的,也不在於有多少人使用。

在動態網站程式開發的領域,不敢說 PHP 是最好的工具,但 PHP 絕對適合。

PHP 有各式各樣的 Web Framework,依據不同需求都可找到適合的開發框架。

  • Laravel – 最受歡迎的 PHP Web Framewrok
  • CodeIgniter – 最新版本 CodeIgniter4 只有 1.4 MB,小而強。
  • Symphony – 不只是個 Framework,還提供了五十多種可獨立使用的開發元件。
  • Yii – YES, it is! Yii 是一個嚴謹的物件導向框架,需要進階的物件繼承和多型知識。

Symphony 使用 Twig Template Engine,Twig 也可以用來快速開發 WordPress 外掛。

相關參考: Kick-Start WordPress Development With Twig: Introduction

5. PHP 適合新手學習嗎?

新手想要進入程式設計領域,一開始要面對的問題,就是該選擇什麼程式語言?

這個問題和回答什麼程式語言是最好的,一樣沒有正確答案,只有個人喜好。

很多的建議説 PHP 比較簡單,或 JavsScript 比較簡單,非常適合新手,也有很多建議初學使用 Python 最好,或是。。。

這樣的比較很難有定論,本來就沒有最好的程式語言。

關於網站程式設計,就有很多可以選擇,想要控制後端,對資料庫有興趣,那就參考看看 PHP 或 Java。

我的第一份工作使用 Java 語言開發企業網站,也是從零開始學習,因為是網站開發,必然會接觸到 PHP、HTML、JavaScript、CSS、Node.js、各式各樣的 Library 和 Framework。

軟體開發工作,不太可能選擇一門程式語言,然後永遠就是這一門語言。

新手學習 Java 適合嗎,當然適合,但如果你的興趣是網頁前端,喜歡 UI 設計,網頁互動效果,那 Java 就徹徹底底的不適合。

一小段 PHP 程式

如果你的興趣是架設網站,喜歡研究 CMS 系統(例如 WordPress),喜歡研究資料庫,同時也想接觸前端程式開發,例如 HTML、JavaScript、CSS 等等,那 PHP 就是個非常好的開始。

PHP 是很後端的程式語言,但與前端有緊密的合作互動,學習 PHP 可以很自然的接觸網站所有面向,在開發當中自然的熟悉 SERVER 架構,了解產生動態網頁的過程。

PHP 有什麼特性適合新手呢?

  1. PHP 是直譯式語言,程式寫完不需經過編譯,直接執行。
  2. PHP 連結資料庫很方便,設定也簡單。
  3. 可輕易的將程式部署到虛擬主機空間執行。
  4. 不需要功能高強的 IDE 輔助,就可以輕鬆的撰寫程式。

什麼是 IDE ?

Integrated Development Environment,程式原始碼編輯工具,各種程式語言都有專門的 IDE,也有一般通用的 IDE,可編輯各種語言程式。

好的 IDE 通常有以下幫助寫程式的功能:

  1. 高亮度語法: 程式語言的語法很多,關鍵字很多,加上語法高亮度顯示,可以幫助確認程式語法正確和方便 DEBUG。
  1. 自動完成語法: 程式語言會提供各式各樣工具函式,所以我們不需要重複撰寫同樣的功能程式,但我們不可能記得住這些公用函式的名稱和參數,藉由 IDE 的幫助,只要輸入函式開頭,就會提示或自動完成函式或語法。
  1. 自動完成編譯或自動化指令: 程式撰寫過程有些固定的流程和動作,可藉由 IDE 的幫助,將這些動作自動化,好的工程師就是要懶惰啊。
  1. 整合除錯 (DEBUG): 整合除錯可以讓程式寫完,就直接在開發環境執行,直接在 IDE 觀察程式邏輯和變數值,方便找出程式錯誤,不同一直將程式丟到正式環境執行,看看對不對,然後一直重複。
visual studio code 視窗
Visual Studio Code 視窗

推薦使用 Visual Studio Code 撰寫 PHP 程式,簡單的開始,熟悉狀況後再來慢慢添加延伸功能,提高效率。

6. 如何撰寫第一支 PHP 程式?

以下使用 MacBook AIR M1 當範例,Windows 系統可以使用 chocolatey 安裝 PHP。

#1 安裝 Homebrew

先準備好開發環境,開啟終端機或 item2,拷貝貼上以下指令,安裝 Homebrew

已安裝過可以跳過。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

#2 安裝 xcode command line tool

已安裝過可以跳過,拷貝貼上以下指令。

xcode-select --install 

#3 安裝 PHP

拷貝貼上以下指令

brew install php

#4 確認安裝完成

拷貝貼上以下指令,如果看到 PHP 版本號碼,表示安裝成功,可以開始寫 PHP 程式。

php -v

以上就完成開發環境準備。


來寫一段最簡單的 PHP 程式,將下面的程式儲存成 index.php。

<?php

echo "<h1> Hello PHP! </h1>";

在終端機中輸入 php index.php,就會看到執行結果,顯示文字 Hello PHP!

如果你想,可以 echo 一個完整的網頁。

但這樣不是網站啊,很簡單,在 index.php 相同的目錄中,輸入以下指令~

php -S localhost:8000

開啟瀏覽器,輸入網址 http://localhost:8000

localhost php example

你的第一個 PHP 網站完成。

看看其它用 PHP 開發的有趣網站:

最後

這世界只有兩種程式語言,一種是大家都在抱怨的,一種是沒人在用的 。

-C++ 之父 Bjarne Stroustrup

如果一直聽到有人抱怨 PHP,覺得 PHP 很難用,這表示 PHP 還沒死,還是繼續在苦毒 WEB 世界 😂。而把 JavaScript 寫爛的人也挺多啊,把 HTML 寫爛的人更多啊。重點在於寫程式的工程師,而不是使用什麼程式語言。