Debian如何进行PHP代码质量检查
导读:在 Debian 上进行 PHP 代码质量检查 一 环境准备 安装 PHP 与常用扩展(以 Debian 12 为例,按项目实际版本调整): sudo apt-get update sudo apt-get install -y php...
在 Debian 上进行 PHP 代码质量检查
一 环境准备
- 安装 PHP 与常用扩展(以 Debian 12 为例,按项目实际版本调整):
- sudo apt-get update
- sudo apt-get install -y php php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath
- 安装 Composer(PHP 依赖管理):
- 下载并安装:curl -sS https://getcomposer.org/installer | php
- 移动到 PATH:sudo mv composer.phar /usr/local/bin/composer
- 建议将 Composer 全局 bin 加入 PATH(如已全局安装 phpunit/phpunit):
- echo ‘export PATH=$HOME/.composer/vendor/bin:$PATH’ > > ~/.bashrc & & source ~/.bashrc
- 说明:本文工具以 Composer 安装为主,便于项目级管理与版本控制。
二 静态分析与代码规范
- 基础语法快速检查
- 单文件:php -l path/to/file.php
- 项目目录:find src tests -name “*.php” -exec php -l { } ;
- 代码风格与规范(PSR-12 等)
- 安装:composer require --dev squizlabs/php_codesniffer
- 检查:vendor/bin/phpcs --standard=PSR12 src tests
- 自动修复:vendor/bin/phpcbf --standard=PSR12 src tests
- 代码坏味道与潜在缺陷
- 安装:composer require --dev phpmd/phpmd
- 检查:vendor/bin/phpmd src text cleancode,codesize,controversial,design,naming,unusedcode
- 静态分析(类型、未定义、死代码等)
- 安装:composer require --dev phan/phan
- 依赖:Debian 安装 php-ast 扩展
- sudo apt-get install -y php-ast
- 或 pecl install ast & & echo “extension=ast.so” | sudo tee /etc/php/*/cli/conf.d/20-ast.ini
- 初始化配置:vendor/bin/phan --init
- 分析:vendor/bin/phan --allow-polyfill-parser
- 建议:在编辑器(如 PHPStorm)中集成以上工具,边写边提示,减少问题流入提交阶段。
三 单元测试与覆盖率
- 安装 PHPUnit(项目级):
- composer require --dev phpunit/phpunit
- 基本运行:
- vendor/bin/phpunit
- 生成 HTML 覆盖率报告(需配置 phpunit.xml 的 白名单):
- 示例 phpunit.xml 片段:
- - tests/ - src/ -
- 执行:vendor/bin/phpunit --coverage-html report/
- 示例 phpunit.xml 片段:
- 覆盖率报告将生成在 report/ 目录,可用浏览器打开 index.html 查看。
四 提交前与 CI 自动化
- 本地 Git 提交前自动检查(使用 GrumPHP)
- 安装:composer require --dev grumphp/grumphp
- 初始化:vendor/bin/grumphp init(按向导生成 grumphp.yml)
- 常用任务示例(可写入配置):phpcs, phpmd, phpunit, phan
- 测试钩子:vendor/bin/grumphp git:pre-commit
- 持续集成示例(GitHub Actions)
- 示例步骤:
- 安装 PHP 与 Composer
- 缓存 Composer 依赖
- 运行:phpcs、phpmd、phan、phpunit --coverage-text
- 可结合 Codecov 上传覆盖率
- 示例步骤:
- 说明:Laravel 等项目同样以 PHPUnit 为核心,配置 phpunit.xml 后可直接在 CI 中执行 vendor/bin/phpunit。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian如何进行PHP代码质量检查
本文地址: https://pptw.com/jishu/757522.html
