使用 Sublime Text 檢查 CodeIgniter 4 專案的命名規範與 use
語句。
在 CodeIgniter 4 開發中,為了提升專案的可維護性,遵守檔案命名規範與 use
語句的正確性是非常重要的。然而,手動檢查這些細節可能耗時且容易出錯。為了解決這個問題,我開發了一款 Sublime Text 外掛,專門用於自動檢查 CodeIgniter 4 專案的命名規範和 use
語句。
在這篇文章中,我將介紹這個外掛的功能、使用方式、注意事項,以及如何對其進行客製化修改。
外掛功能(截至 2024-12-13)
這個外掛的主要功能是檢查 PHP 檔案是否符合 CodeIgniter 4 的命名規範和 use
語句的使用規則:
- 檔案命名規範檢查:
- 確保所有 PHP 檔案名稱遵循 PascalCase 並以
.php
結尾。 - 舉例:
MyClass.php
是正確的命名,my_class.php
則會觸發警告。
- 確保所有 PHP 檔案名稱遵循 PascalCase 並以
use
語句檢查:- 檢查是否所有使用到的類別名稱都已經通過
use
正確引入。 - 找出未被使用的類別,協助開發者清理多餘的
use
語句。
- 檢查是否所有使用到的類別名稱都已經通過
- CodeIgniter 4 專案結構檢查:
- 自動檢測專案是否為 CodeIgniter 4,要求至少包含以下目錄:
- 必須有:
app/
和writable/
- 至少存在:
public/
或vendor/
- 必須有:
- 自動檢測專案是否為 CodeIgniter 4,要求至少包含以下目錄:
如何安裝與使用
- 下載外掛
- 前往 GitHub 儲存庫 下載外掛程式碼。
- 安裝外掛
- 將外掛放入 Sublime Text 的
Packages
目錄中:Sublime Text > Preferences > Browse Packages
將外掛資料夾解壓縮到上述目錄內。
- 將外掛放入 Sublime Text 的
- 保存 PHP 檔案以觸發檢查
- 在 Sublime Text 中打開 CodeIgniter 4 專案的 PHP 檔案,進行編輯後保存。
- 外掛會自動檢查檔案並在 Sublime Text 狀態列中顯示結果。
- 如果發現錯誤,會彈出對話框提醒,顯示具體問題。
使用注意事項(截至 2024-12-13)
- 適用專案
- 此外掛僅適用於 CodeIgniter 4 專案,需保證專案根目錄存在
.env
檔案,並符合 CodeIgniter 4 的基本目錄結構。
- 此外掛僅適用於 CodeIgniter 4 專案,需保證專案根目錄存在
- 支援的檔案類型
- 僅檢查
.php
檔案,其他檔案類型將被忽略。
- 僅檢查
- 檢查邏輯
- 外掛會移除 PHP 中的註解與引號內容來確保檢查不受干擾,但可能會忽略某些極端情況。例如,代碼中以字串拼接的動態類別名稱。
如何進行修改
如果你需要針對專案需求進一步客製化這個外掛,可以參考以下指引:
1. 修改專案結構檢查邏輯
- 在
is_codeigniter4_project
方法中,你可以自訂需要檢查的目錄結構:def is_codeigniter4_project(self, directory): required_paths = ["app", "writable"] optional_paths = ["public", "vendor"] for path in required_paths: if not os.path.isdir(os.path.join(directory, path)): return False if not any(os.path.isdir(os.path.join(directory, path)) for path in optional_paths): return False return True
2. 新增自訂檢查規則
- 如果需要檢查額外的命名規範或程式碼規範,可以在
check_file_naming
或check_use_statements
方法中新增對應邏輯。
3. 排除特定情境
- 若某些專案使用特定的非標準命名方式,可以修改正則表達式來放寬檢查。例如:
if not re.match(r"^[A-Z][a-zA-Z0-9_]*\.php$", base_name):
4. 偵錯模式
- 在開發或調試外掛時,可以透過
print
將日誌輸出到 Sublime Text 的 Console(`Ctrl+“)。
結語
這個 Sublime Text 外掛旨在提升 CodeIgniter 4 專案的開發效率,減少手動檢查的時間成本。如果你有其他需求或遇到問題,歡迎前往 GitHub 儲存庫 提交 Issue 或 Pull Request。
希望這款工具能夠成為你在 CodeIgniter 4 開發中的得力助手!
—
笑死,現在部落格用 AI 幫忙生成,講的比自己清楚。附上連結:
GitHub – lazyjerry/sublime-text-ci4_checker: Sublime Text3 針對 Codeigniter4 的檢查外掛
github.comSublime Text3 針對 Codeigniter4 的檢查外掛. Contribute to lazyjerry/sublime-text-ci4_checker development by creating an account on GitHub.