jbzoo/codestyle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jbzoo/codestyle

最新稳定版本:7.2.0

Composer 安装命令:

composer require jbzoo/codestyle

包简介

Collection of QA tools and JBZoo code standards

README 文档

README

CI Coverage Status Psalm Coverage Psalm Level CodeFactor

Stable Version Total Downloads Dependents GitHub License

Comprehensive collection of QA tools and code quality standards for PHP 8.2+ projects. Provides configurations and wrappers for PHPStan, Psalm, PHP-CS-Fixer, PHPUnit, PHPMD, Phan and other popular code analysis tools.

Requirements

  • PHP 8.2+ - Modern PHP version with strict typing support
  • Composer - For dependency management
  • Make - Build automation tool

Installation

composer require --dev jbzoo/codestyle

Quick Start

Add the following to your project's Makefile to get access to all QA tools:

ifneq (, $(wildcard ./vendor/jbzoo/codestyle/src/init.Makefile)) include ./vendor/jbzoo/codestyle/src/init.Makefile endif update: ##@Project Install/Update all 3rd party dependencies $(call title,"Install/Update all 3rd party dependencies") @echo "Composer flags: $(JBZOO_COMPOSER_UPDATE_FLAGS)" @composer update $(JBZOO_COMPOSER_UPDATE_FLAGS) test-all: ##@Project Run all project tests at once @make test @make codestyle

Available Tools

This package includes configurations for:

  • PHPStan - Static analysis tool with strict rules
  • Psalm - Advanced static analysis with type coverage
  • PHP-CS-Fixer - Code style fixer with PSR-12 and custom rules
  • PHPCS - Code sniffer for PSR-12 and PHP compatibility
  • PHPMD - Mess detector for code quality issues
  • PHPUnit - Unit testing framework with coverage reporting
  • Phan - Super strict static analyzer
  • PHPMND - Magic number detector
  • PHPCPD - Copy-paste detector

Common Commands

Development

make update # Install/update dependencies make autoload # Dump optimized autoloader make clean # Cleanup build directory

Testing

make test # Run PHPUnit tests make test-all # Run all tests and code style checks make codestyle # Run all code style linters

Individual QA Tools

make test-phpstan # Static analysis with PHPStan make test-psalm # Static analysis with Psalm make test-phpcs # Code sniffer (PSR-12 + compatibility) make test-phpcsfixer # Check PHP-CS-Fixer rules make test-phpcsfixer-fix # Auto-fix with PHP-CS-Fixer make test-phpmd # Mess detector make test-phan # Phan static analyzer

Reports

make report-all # Generate all reports make report-phpmetrics # PHP Metrics report make report-pdepend # PHP Depend report

Complete Command Reference

Usage: - `make [target]` - `make [target] OPTION=value` - `ENV_VAR=value make [target]` Misc: help Show this text list Full list of targets Project: autoload Dump optimized autoload file for PHP build-phar Compile phar file clean Cleanup only build directory clean-vendor Cleanup all test-all Run all project tests at once update Install/Update all 3rd party dependencies Tests: codestyle Launch all codestyle linters at once test Launch PHPUnit Tests (alias "test-phpunit") test-composer Validates composer.json and composer.lock test-composer-reqs Checks composer.json the defined dependencies against your code test-performance Run benchmarks and performance tests test-phan Phan - super strict static analyzer for PHP test-phpcpd PHPcpd - Find obvious Copy&Paste test-phpcs PHPcs - Checking PHP Code Sniffer (PSR-12 + PHP Compatibility) test-phpcsfixer PhpCsFixer - Check code to follow stylish standards test-phpcsfixer-fix PhpCsFixer - Auto fix code to follow stylish standards test-phpmd PHPmd - Mess Detector Checker test-phpmd-strict PHPmd - Mess Detector Checker (strict mode) test-phpmnd PHPmnd - Magic Number Detector test-phpstan PHPStan - Static Analysis Tool test-phpunit PHPUnit - Launch General Tests test-psalm Psalm - static analysis tool for PHP Reports: report-all Build all reports at once report-composer-diff What has changed after a composer update report-composer-graph Build composer graph of dependencies report-coveralls Send coverage report to coveralls.io report-merge-coverage Merge all coverage reports in one clover file report-pdepend Build PHP Depend Report report-performance Build performance summary report report-phploc PHPloc - Show code stats report-phpmetrics Build PHP Metrics Report update-extend Checks new compatible versions of 3rd party libraries Trick: Add into your "~/.bash_aliases" the line "complete -W "\`make list\`" make" to use TAB 

Integration with IDEs

The package provides configurations that work seamlessly with:

  • PhpStorm - Built-in support for all tools
  • VS Code - Extensions available for all included tools
  • Vim/Neovim - LSP support through various plugins

Advanced Usage

Custom PHP-CS-Fixer Rules

Extend the base configuration in your .php-cs-fixer.php:

use JBZoo\Codestyle\PhpCsFixer\PhpCsFixerCodingStandard; return (new PhpCsFixerCodingStandard(__DIR__)) ->addCustomRules([ 'your_custom_rule' => true, ]) ->getFixerConfig();

PHPUnit Base Classes

Use the provided base test classes for consistent testing:

use JBZoo\Codestyle\PHPUnit\AbstractPackageTest; class YourPackageTest extends AbstractPackageTest { protected string $packageName = 'your-package-name'; }

Contributing

Contributions are welcome! Please ensure:

  1. All tests pass: make test-all
  2. Code follows our standards: make codestyle
  3. Coverage remains high: make report-all

License

MIT License. See LICENSE file for details.

统计信息

  • 总下载量: 1.11M
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 5
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固