語言核心機制
- reset():將陣列內部指標移至第一個元素並回傳其值
- 授權模式:PHP 採用類 BSD 授權,允許原始碼與二進位重新分發,非 GPL
- 變數儲存:值與型別分離儲存,型別表獨立,運算時自動轉型
- === 運算子:嚴格比較,同時檢查值與型別(
1 === '1' 為 false)
- 使用者函數效能:因解釋執行與動態型別,自訂函數呼叫成本較高,熱點路徑建議用內建函數或擴充
HTML 表單與編碼
<textarea wrap="off"> 關閉自動換行,wrap="soft|hard" 啟用
- 多執行緒庫缺失:Linux 需
linuxthreads,其他 Unix 需 MIT-pthreads,MySQL 多執行緒依賴此庫
環境變數存取
$HTTP_ENV_VARS 不自動填入,請改用 getenv('VAR_NAME') 或 $_ENV(需 variables_order 包含 E)。
前端技術補充
- Applet:Java 小程式,可嵌入 HTML(現已淘汰)
- DHTML:動態 HTML,瀏覽器端腳本操作 DOM,支援絕對定位、動畫
- CSS1:1996 年 W3C 標準,選擇器 + 屬性:值
- 常見事件:click、dblclick、mousedown/up、mousemove、mouseover/out、load/unload、scroll
實用片段
判斷閏年
if ($month == 2) {
$days = date('L') ? 29 : 28; // 'L' 回傳 1/0
}
Meta 重導向
<meta http-equiv="refresh" content="10; url=https://example.com/">
Apache 模組模式安裝 PHP(Windows 範例)
LoadModule php_module "c:/php/php8apache2_4.dll"
AddType application/x-httpd-php .php
PHPIniDir "c:/php"
現代 PHP 開發建議
- 使用 PHP 8.1+、Composer、PSR-12 編碼風格
- 採用靜態分析(PHPStan Level 5+)、單元測試
- 框架選擇:Laravel(全功能)、Symfony(企業級)、Slim(微服務)
- 部署:PHP-FPM + Nginx + OPcache + JIT
- 資料庫:PDO + 預備語句,或 Doctrine/Eloquent ORM