標準回答:PHP (Hypertext Preprocessor) 是服務端腳本語言,專為 Web 開發設計,可嵌入 HTML,通過 Zend Engine 解析執行,支援多數據庫、跨平台運行。
分層職責:
優勢:關注點分離、可測試性、團隊並行開發、代碼複用。
優先級:內聯 > 內部/外部(後載入勝出) > 瀏覽器默認。
不支援。單繼承:`class Child extends Parent`。使用 Trait 實現代碼複用(PHP 5.4+),或介面 `implements` 多介面。
| 特性 | echo | |
|---|---|---|
| 返回值 | 無 | 總是 1 |
| 參數 | 可多參數 `echo $a, $b` | 單參數 |
| 速度 | 略快 | 略慢 |
| 表達式上下文 | 不可用 | 可用 `$x = print "hi"` |
| 維度 | GET | POST |
|---|---|---|
| 參數位置 | URL 查詢字串 | 請求體 |
| 長度限制 | ~2KB (瀏覽器/伺服器) | ~2MB (可配置) |
| 可見性 | 地址欄可見 | 不可見 |
| 緩存/書籤 | 可緩存/可書籤 | 不可 |
| 安全性 | 低 (日誌洩露) | 相對高 |
| 語義 | 獲取資源 | 提交/修改資源 |
PHP Extension and Application Repository,PHP 官方擴展與應用代碼倉庫,提供標準化包管理、安裝器(已被 Composer/Packagist 取代)。
不存視頻二進制,存儲路徑/URL。流程:
加上 Parse Error (編譯期)、Deprecated (棄用)、Strict Standards (嚴格標準)。
define('CONST_NAME', 'value'); // 全局常量
const CLASS_CONST = 'value'; // 類常量 (PHP 5.3+)
<a href="javascript:document.forms[0].submit();">提交</a>
// 或
<input type="image" src="btn.png" onclick="this.form.submit()">
// 或 JS 事件綁定
基礎扎實、原理清晰、實戰經驗豐富,方能在面試中游刃有餘。