作為 JetBrains 旗下專為 PHP 設計的 IDE,PhpStorm 提供了深度程式碼理解:精準的類/方法/變數跳轉、重構支援、靜態分析、框架整合(Laravel、Symfony、WordPress、Drupal、Magento)、資料庫工具、Docker、REST Client、版本控制視覺化等。相比 VS Code + 外掛組合,PhpStorm 開箱即用、體驗一致、索引效能強。
| 功能 | Windows/Linux | macOS | 使用場景 |
|---|---|---|---|
| 全域搜尋檔案 | Ctrl+Shift+N | ⌘+⇧+N | 快速開啟專案任意檔案 |
| 全域搜尋類別 | Ctrl+N | ⌘+N | 依類名快速定位 |
| 全域搜尋符號 | Ctrl+Alt+Shift+N | ⌘+⌥+⇧+N | 搜尋函數、常數、變數 |
| 路徑內搜尋文字 | Ctrl+Shift+F | ⌘+⇧+F | 專案級全文檢索 |
| 路徑內替換文字 | Ctrl+Shift+R | ⌘+⇧+R | 批次重構字串 |
| 最近開啟檔案 | Ctrl+E | ⌘+E | 快速切換作業上下文 |
| 最近編輯位置 | Ctrl+Shift+Backspace | ⌘+⇧+Backspace | 回到剛才改代碼的地方 |
| 跳轉到宣告 | Ctrl+B / Ctrl+Click | ⌘+B / ⌘+Click | 追蹤類/方法/變數定義 |
| 查看快速定義 | Ctrl+Shift+I | ⌘+⇧+I | 不離開當前檔案預覽定義 |
| 尋找用法 | Alt+F7 | ⌥+F7 | 查看類/方法在哪被呼叫 |
| 重構-重命名 | Shift+F6 | ⇧+F6 | 安全重命名並同步更新引用 |
| 程式碼格式化 | Ctrl+Alt+L | ⌘+⌥+L | 依專案規範自動排版 |
| 智慧型完成 | Ctrl+Shift+Space | ⌘+⇧+Space | 語境感知的程式碼補全 |
| 產生程式碼 | Alt+Insert | ⌘+N | Getter/Setter、建構子、實作介面等 |
| 環繞程式碼 | Ctrl+Alt+T | ⌘+⌥+T | 包裹 if/try-catch/foreach 等結構 |
| 複製當前行 | Ctrl+D | ⌘+D | 快速複製行或選區 |
| 刪除當前行 | Ctrl+Y | ⌘+Backspace | 快速刪除 |
| 移動程式碼塊 | Ctrl+Shift+Up/Down | ⌘+⇧+Up/Down | 上下移動語句/方法 |
| 多游標編輯 | Alt+J (選下一個相同) | ⌃+G | 同時編輯多處相同文字 |
| 行註解/取消 | Ctrl+/ | ⌘+/ | 切換單行註解 |
| 區塊註解 | Ctrl+Shift+/ | ⌘+⇧+/ | 切換區塊註解 |
| PHPDoc 註解 | /** + Enter | /** + Enter | 自動生成標準文件註解 |
| 執行/除錯 | Shift+F10 / Shift+F9 | ⌃+R / ⌃+D | 快速執行配置 |
設定路徑:Settings → Editor → Live Templates → PHP
內建實用模板:
fore + Tab → foreach ($array as $key => $value) { }pubf + Tab → public function () { }prif + Tab → private function () { }echo + Tab → echo ;自訂範例:建立 singleton 模板快速生成單例模式。
啟用嚴格模式:Settings → Editor → Inspections → PHP → Type compatibility
Database 面板支援 MySQL、PostgreSQL、SQLite 等:
建立 .http 或 .rest 檔案:
### 取得用戶列表
GET {{host}}/api/users
Authorization: Bearer {{token}}
Accept: application/json
### 建立用戶
POST {{host}}/api/users
Content-Type: application/json
{
"name": "John Doe",
"email": "john@example.com"
}
支援環境變數 http-client.env.json、測試腳本、回應驗證。
Settings → PHP → Debug → Xdebug 設定 Port 9003 (Xdebug 3) 或 9000 (Xdebug 2)
$user->id === 123# phpstorm.vmoptions (Help → Edit Custom VM Options) -Xms512m -Xmx2048m # 根據記憶體調整,建議實體記憶體 1/2 - 3/4 -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -Dsun.io.useCanonCaches=false -Dfile.encoding=UTF-8
foreach 迴圈)File → Open 選擇多個資料夾,單一視窗管理多個相關專案| 框架 | 啟用方式 | 核心功能 |
|---|---|---|
| Laravel | Settings → PHP → Frameworks → Laravel | 路由/控制器/視圖跳轉、Artisan 指令、Blade 語法、Eloquent 關聯導航 |
| Symfony | Settings → PHP → Frameworks → Symfony | 服務容器、路由、Twig、Doctrine 實體導航 |
| WordPress | Settings → PHP → Frameworks → WordPress | Hook 跳轉、函數補全、主題/外掛結構 |
| Drupal | Settings → PHP → Frameworks → Drupal | 模組/主題鉤子、服務、實體類型 |
PhpStorm 學習曲線較陡,但投資回報率極高。建議:
Editor → Code Style → PHP),團隊統一工具是為人服務的,深度掌握 IDE 能讓你專注於業務邏輯與架構設計,而非機械性編碼。