Docker 映像為 PHP 提供靜態分析工具。可用工具和安裝程式的清單實際上是在jakzal/toolbox
儲存庫中管理的。
Docker hub 儲存庫:https://hub.docker.com/r/jakzal/phpqa/
每晚建置:https://hub.docker.com/r/jakzal/phpqa-nightly/
latest
, debian
(Dockerfile)1.99.0
1.99.0-debian
、 1.99-debian
1.99
Dockerfile)1.99.0-php8.1
1.99-php8.1
、 php8.1-debian
、 php8.1
(Dockerfile)1.99.0-php8.2
1.99-php8.2
、 php8.2-debian
、 php8.2
(Dockerfile)1.99.0-php8.3
1.99-php8.3
、 php8.3-debian
、 php8.3
(Dockerfile)alpine
(Dockerfile)1.99.0-alpine
, 1.99-alpine
, (Dockerfile)1.99.0-php8.1-alpine
、 1.99-php8.1-alpine
、 php8.1-alpine
(Dockerfile)1.99.0-php8.2-alpine
、 1.99-php8.2-alpine
、 php8.2-alpine
(Dockerfile)1.99.0-php8.3-alpine
、 1.99-php8.3-alpine
、 php8.3-alpine
(Dockerfile)每日更新: latest
、 debian
、 alpine
、 php8.4
、 php8.4-alpine
等。補丁版本更改更新1.61.0
1.61
1.61-php8.4
1.61-php8.4-alpine
等。 1.61.0
1.61.0-php8.4
1.61.0-php8.4-alpine
等
這些是不再受支援的 PHP 版本的最新標籤:
1.92.7-php8.0
1.93-php8.0
、 php8.0-debian
、 php8.0
(Dockerfile)1.92.7-php8.0-alpine
、 1.93-php8.0-alpine
、 php8.0-alpine
(Dockerfile)1.80.0-php7.4
1.80-php7.4
、 php7.4-debian
、 php7.4
(Dockerfile)1.80.0-php7.4-alpine
、 1.80-php7.4-alpine
、 php7.4-alpine
(Dockerfile)1.61.2-php7.3
1.61-php7.3
、 php7.3-debian
、 php7.3
(debian/Dockerfile)1.61.2-php7.3-alpine
、 1.61-php7.3-alpine
、 php7.3-alpine
(alpine/Dockerfile)1.44.0-php7.2
1.44-php7.2
、 php7.2
(7.2/debian/Dockerfile)1.44.0-php7.2-alpine
、 1.44-php7.2-alpine
、 php7.2-alpine
(7.2/alpine/Dockerfile)1.26.0-php7.1
1.26-php7.1
、 php7.1
(7.1/debian/Dockerfile)1.26.0-php7.1-alpine
、 1.26-php7.1-alpine
、 php7.1-alpine
(7.1/alpine/Dockerfile) 姓名 | 描述 | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
---|---|---|---|---|---|
行為 | 有助於測試業務預期 | ||||
盒子 | 具有 PHAR 的快速、零配置應用程式捆綁器 | ||||
盒子3 | 具有 PHAR 的快速、零配置應用程式捆綁器 | ||||
流失 | 發現重構的良好候選者 | ||||
代碼接收 | Codeception是一個BDD風格的PHP測試框架 | ||||
作曲家 | PHP 的依賴管理器 | ||||
作曲家 bin 插件 | 用於在隔離位置安裝 bin 供應商的 Composer 插件 | ||||
作曲家規範化 | 用於標準化composer.json檔案的Composer插件 | ||||
作曲家要求檢查者 | 驗證包的來源中沒有使用未知符號。 | ||||
作曲家要求檢查器 3 | 驗證包的來源中沒有使用未知符號。 | ||||
作曲家未使用 | 透過掃描代碼顯示未使用的包 | ||||
依賴 | 檢測架構中的缺陷 | ||||
棄用檢測器 | 尋找已棄用代碼的用法 | ||||
德普特拉克 | 強制軟體層之間的依賴關係規則 | ||||
差異過濾器 | 應用 QA 工具在單一拉取請求上運行 | ||||
ECS | 設定並執行編碼標準檢查 | ||||
感染 | 基於 AST 的 PHP 突變測試框架 | ||||
拉拉斯坦 | Laravel 的 PHPStan 擴展 | ||||
本地 php 安全檢查器 | 檢查 Composer 依賴項是否有已知安全漏洞 | ||||
平行 lint | 檢查 PHP 檔案語法 | ||||
副試驗 | PHPUnit 的平行測試 | ||||
依賴 | 靜態分析工具 | ||||
害蟲 | 優雅的 PHP 測試框架 | ||||
潘 | 靜態分析工具 | ||||
菲韋 | PHAR安裝與驗證環境 | ||||
php-cs-修復程序 | PHP 編碼標準修復程式 | ||||
php 模糊器 | PHP 的模糊器,可用於透過向庫提供「隨機」輸入來查找庫中的錯誤 | ||||
php-semver-檢查器 | 根據語意版本控制建議下一個版本 | ||||
帕帕 | 檢查弱假設 | ||||
PHPARKITECT | 有助於在 PHP 程式碼庫中加入架構約束 | ||||
phpat | 易於使用的架構測試工具 | ||||
phpbench | PHP 基準測試框架 | ||||
phpca | 尋找非內建擴充的使用 | ||||
phpcb | PHP 程式碼瀏覽器 | ||||
phpcbf | 自動修正違反編碼標準的行為 | ||||
phpcodesniffer-composer-安裝 | 輕鬆安裝 PHP_CodeSniffer 編碼標準(規則集)。 | ||||
phpcov | PHP_CodeCoverage 函式庫的命令列前端 | ||||
phpcpd | 複製/貼上偵測器 | ||||
phpcs | 檢測編碼標準違規行為 | ||||
phpcs-安全審計 | 尋找 PHP 程式碼中與安全相關的漏洞和弱點 | ||||
phpdd | 尋找已棄用功能的使用 | ||||
php文件管理器 | 文件產生器 | ||||
phpinsights | 分析程式碼品質、風格、架構和複雜性 | ||||
phplint | 並行 lints php 文件 | ||||
phploc | 快速測量PHP項目大小的工具 | ||||
phpmd | 用於尋找 PHP 程式碼問題的工具 | ||||
php指標 | 靜態分析工具 | ||||
phpmnd | 幫助偵測魔術數字 | ||||
php規範 | 規範BDD框架 | ||||
php斯坦 | 靜態分析工具 | ||||
phpstan 禁止程式碼 | PHPStan 規則用於檢測項目中不需要的特定函數的調用 | ||||
phpstan-beberlei-斷言 | beberlei/assert 的 PHPStan 擴展 | ||||
phpstan 棄用規則 | 用於偵測已棄用程式碼的 PHPStan 規則 | ||||
phpstan 主義 | PHPStan 的學說擴展 | ||||
phpstan-ergebnis-規則 | PHPstan 的附加規則 | ||||
phpstan 異常規則 | PHPStan 針對已檢查和未檢查異常的規則 | ||||
phpstan-拉斯坦 | 為 larastan 單獨安裝 phpstan | ||||
phpstan-phpunit | PHPUnit 的 PHPStan 擴充功能和規則 | ||||
phpstan 嚴格規則 | PHPStan 的額外嚴格且固執己見的規則 | ||||
phpstan-symfony | PHPStan 的 Symfony 擴充 | ||||
phpstan-webmozart-斷言 | 用於 webmozart/assert 的 PHPStan 擴充 | ||||
php單元 | PHP測試框架 | ||||
phpunit-10 | PHP測試框架(10.x版本) | ||||
phpunit-8 | PHP測試框架(8.x版本) | ||||
phpunit-9 | PHP測試框架(9.x版本) | ||||
品脫 | Laravel 的自以為是的 PHP 程式碼風格修復程序 | ||||
詩篇 | 尋找 PHP 應用程式中的錯誤 | ||||
詩篇插件教義 | 讓詩篇更能理解教義的存根 | ||||
詩篇插件 phpunit | PHPUnit 的 Psalm 插件 | ||||
詩篇插件 symfony | Symfony 的詩篇插件 | ||||
偽解析 | 掃描代碼以查找潛在的安全相關問題 | ||||
校長 | 用於即時程式碼升級和重構的工具 | ||||
roave 向後相容性檢查 | 用於比較類別 API 的兩個版本以檢查 BC 中斷的工具 | ||||
簡單的 phpunit | 提供實用程式來報告遺留測試和已棄用程式碼的使用情況 | ||||
twig-cs-修復器 | 依照官方編碼標準規則自動更正twig文件 | ||||
樹枝絨 | 獨立 cli twig 1.X linter | ||||
樹枝短絨 | 獨立 cli twig 3.X linter | ||||
樹枝 | 樹枝缺失的格子樣式! | ||||
yaml-lint | 用於檢查 YAML 檔案語法的緊湊命令列實用程序 |
有些工具不包含在 docker 映像中,若要使用它們,請參閱它們的文件:
姓名 | 概括 |
---|---|
分析 | 可視化指標和原始碼 |
盒子遺產 | 舊版盒子 |
作曲家規範化 | 用於標準化composer.json檔案的Composer插件 |
設計模式 | 檢測設計模式 |
並行 lint | 檢查 PHP 檔案語法 |
php-耦合檢測器 | 檢測程式碼耦合問題 |
php 格式化程式 | 自訂編碼標準修復程序 |
phpcf | 尋找已棄用功能的使用 |
phpda | 產生依賴圖 |
phpdoc 到 typehint | 基於PHPDocs自動新增類型提示和返回類型 |
phpstan-localheinz-規則 | PHPstan 的附加規則 |
安全檢查器 | 檢查 Composer 依賴項是否有已知安全漏洞 |
可測試性 | 分析和報告 php 程式碼庫的可測試性問題 |
拉取鏡像:
docker pull jakzal/phpqa
預設命令將列出可用的工具:
docker run -it --rm jakzal/phpqa
要在容器內執行所選工具,您需要使用-v "$(pwd):/project"
將專案目錄掛載到容器上。有些工具喜歡寫入/tmp
目錄(例如 PHPStan,或在某些情況下為 Behat),因此在 docker 運行之間共享它通常很有用,即使用-v "$(pwd)/tmp-phpqa:/tmp"
。如果您希望能夠在所選工具花費太多時間才能完成時中斷該工具,則可以使用--init
選項。請參閱 docker run 文件以取得更多資訊。
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
您可能需要根據需要調整此命令並建立別名以方便使用:
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
將其新增至您的~/.bashrc
中,以便每次啟動新的終端會話時都會定義它。
現在命令變得簡單多了:
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
建構高山版本:
make build-alpine
請查看食譜以獲取更多提示和技巧。
請閱讀貢獻指南以了解如何為該專案做出貢獻。請注意,該項目是隨貢獻者行為準則一起發布的。參與該項目即表示您同意遵守其條款。