smile/magento2-smilelab-quality-suite 问题修复 & 功能扩展

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

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

smile/magento2-smilelab-quality-suite

最新稳定版本:4.0.0

Composer 安装命令:

composer require smile/magento2-smilelab-quality-suite

包简介

Complete suite of quality tools for Magento projects.

README 文档

README

This library provides coding standards / rulesets that can be used on Magento projects.

It includes the following packages:

Table of content

Installation

composer require --dev smile/magento2-smilelab-quality-suite

Configuration

Create three files at the root of your project directory:

Usage

# Check registered vulnerabilities composer audit # Analyse php syntax vendor/bin/parallel-lint --exclude vendor [src path] # Analyse code style vendor/bin/phpcs # Analyse code complexity vendor/bin/phpmd [src path] text phpmd.xml.dist # Analyse code logic vendor/bin/phpstan analyse

Fix your code

A lot of style errors can be fixed automatically by running this command:

vendor/bin/phpcbf --extensions=php,phtml

CI

GitHub Workflow

Example of .github/workflows/static-analysis.yaml file:

name: 'Static Analysis' on: pull_request: ~ push: branches: - 'master' jobs: tests: runs-on: 'ubuntu-latest' steps: - name: 'Checkout' uses: 'actions/checkout@v3' - name: 'Install PHP' uses: 'shivammathur/setup-php@v2' with: php-version: '8.1' coverage: 'none' tools: 'composer:v2' env: COMPOSER_AUTH_JSON: |  {  "http-basic": {  "repo.magento.com": {  "username": "${{ secrets.MAGENTO_USERNAME }}",  "password": "${{ secrets.MAGENTO_PASSWORD }}"  }  }  }   - name: 'Get composer cache directory' id: 'composer-cache' run: 'echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT' - name: 'Cache dependencies' uses: 'actions/cache@v3' with: path: '${{ steps.composer-cache.outputs.dir }}' key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: '${{ runner.os }}-composer-' - name: 'Install dependencies' run: 'composer install --prefer-dist' - name: 'Run composer audit' run: 'composer audit --format=plain' - name: 'Run Parallel Lint' run: 'vendor/bin/parallel-lint --exclude vendor [src path]' - name: 'Run PHP CodeSniffer' run: 'vendor/bin/phpcs --extensions=php,phtml' - name: 'Run PHPMD' run: 'vendor/bin/phpmd [src path] xml phpmd.xml.dist' - name: 'Run PHPStan' run: 'vendor/bin/phpstan analyse' 

GitLab Runner

Example of .gitlab-ci.yml file:

before_script: - 'composer install' sniffers: variables: COMPOSER_AUTH: $COMPOSER_AUTH script: - 'composer audit --format=plain' - 'vendor/bin/parallel-lint --exclude vendor [src path]' - 'vendor/bin/phpcs --extensions=php,phtml' - 'vendor/bin/phpmd [src path] text phpmd.xml.dist' - 'vendor/bin/phpstan analyse' tags: - 'php81'

Baseline

If you want to add this coding standard on an existing project, it might be complicated to fix all issues. The baseline is a mechanism that allows you to keep your legacy code as it is and enforces the quality analysis for the code you will add in the future.

It is always better to fix all issues. Baseline are a tweak to help you have a fresh start. But keep in mind that all errors (in the baseline or not) must be corrected eventually.

To generate the baselines, run these commands:

# PHPCS composer require --dev digitalrevolution/php-codesniffer-baseline vendor/bin/phpcs --report=\\DR\\CodeSnifferBaseline\\Reports\\Baseline --report-file=phpcs.baseline.xml --extensions=php,phtml # PHPMD vendor/bin/phpmd app ansi phpmd.xml.dist --generate-baseline # PHPSTAN vendor/bin/phpstan analyse --generate-baseline

For phpstan, you'll need to add the file phpstan-baseline.neon to the include part of the phpstan.neon.dist file and config reportUnmatchedIgnoredErrors: false to the parameters part of the same file.

The baseline files must be added to git.

统计信息

  • 总下载量: 58.95k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 4
  • 依赖项目数: 36
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 9
  • Forks: 0
  • 开发语言: PHP

其他信息

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