承接 byteever/byteever-sniffs 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

byteever/byteever-sniffs

最新稳定版本:v1.1.3

Composer 安装命令:

composer require byteever/byteever-sniffs

包简介

A comprehensive PHP_CodeSniffer ruleset extending WordPress Coding Standards with ByteEver-specific conventions for modern PHP development

README 文档

README

A comprehensive PHP_CodeSniffer ruleset that extends WordPress Coding Standards with ByteEver-specific conventions for modern PHP development.

Features

  • 🎯 WordPress-First: Built on top of WordPress Coding Standards (WPCS) 3.1.0
  • 🐘 PHP Compatibility: Supports PHP 7.4 - 8.5 with PHPCompatibility checks
  • Performance: Configured for parallel processing with 8 threads
  • 🎨 Sensible Defaults: Pre-configured with practical exclusions for real-world development
  • 📝 Tab Indentation: Enforces consistent tab-based indentation
  • 🔧 Customizable: Easy to extend and override rules per project

What's Included

Base Standards

  • WordPress: Complete WordPress coding standards
  • WordPress-Extra: Additional WordPress-specific rules
  • WordPress-Docs: Documentation standards
  • PHPCompatibilityWP: WordPress-specific PHP compatibility checks

ByteEver Customizations

  • Tab-based indentation (1 tab = 1 indent level)
  • Space inside parentheses for better readability
  • Relaxed file naming requirements
  • Allowance for shorthand array syntax []
  • Sensible exclusions for database queries and nonce verification
  • Comment and doc comment tokens ignored in indentation checks

Installation

Install via Composer:

composer require byteever/byteever-sniffs

The package will automatically:

  • Install PHP_CodeSniffer and required dependencies
  • Register the ByteEver-Default standard
  • Set it as the default standard for your project

Usage

Command Line

Quick Check

vendor/bin/phpcs .

Using Composer Script

composer run phpcs

Custom Configuration

vendor/bin/phpcs --standard=ByteEver-Default path/to/files

IDE Integration

For better IDE integration, create a .phpcs.xml.dist file in your project root:

<?xml version="1.0"?>
<ruleset name="Project Coding Standards">
    <description>Project-specific coding standards based on ByteEver defaults.</description>

    <!-- Scan these directories -->
    <file>src/</file>
    <file>inc/</file>
    
    <!-- Exclude these paths -->
    <exclude-pattern>vendor/</exclude-pattern>
    <exclude-pattern>node_modules/</exclude-pattern>
    <exclude-pattern>*.min.js</exclude-pattern>

    <!-- Configuration -->
    <config name="minimum_supported_wp_version" value="6.2" />
    <config name="testVersion" value="7.4-8.5" />

    <!-- Use ByteEver standards -->
    <rule ref="ByteEver-Default" />

    <!-- Project-specific customizations -->
    <rule ref="WordPress.WP.I18n">
        <properties>
            <property name="text_domain" type="array">
                <element value="your-text-domain"/>
            </property>
        </properties>
    </rule>
</ruleset>

Continuous Integration

Add to your CI workflow:

# GitHub Actions example
- name: PHP CodeSniffer
  run: composer run phpcs

Configuration Details

PHP Version Support

  • Minimum: PHP 7.4
  • Maximum: PHP 8.5
  • Compatibility: Uses PHPCompatibilityWP for WordPress-specific compatibility checks

Key Rules Applied

  • WordPress Coding Standards (with sensible exclusions)
  • Tab indentation (1 tab per indent level)
  • Space inside parentheses for readability
  • Superfluous whitespace detection
  • PHP compatibility checking for WordPress

Excluded Rules

The following rules are excluded for practical development:

  • File naming conventions (WordPress.Files.FileName)
  • Nonce verification requirements
  • Direct database query restrictions
  • Global variable override prohibitions
  • Some documentation capitalization requirements

Customization

Project-Level Overrides

Create a phpcs.xml.dist file to override or add rules:

<rule ref="ByteEver-Default">
    <!-- Enable a rule that's disabled by default -->
    <exclude name="WordPress.Files.FileName" />
</rule>

<!-- Add custom exclusions -->
<rule ref="WordPress.Security.NonceVerification.Missing">
    <exclude-pattern>admin/ajax-handlers/*</exclude-pattern>
</rule>

Inline Annotations

Disable rules for specific code blocks:

// phpcs:disable WordPress.Security.NonceVerification.Missing
if ( isset( $_POST['data'] ) ) {
    // Process data without nonce check
}
// phpcs:enable WordPress.Security.NonceVerification.Missing

Requirements

  • PHP 7.4 or higher
  • Composer
  • PHP_CodeSniffer 3.9.0 or higher

Dependencies

  • dealerdirect/phpcodesniffer-composer-installer: ^1.0
  • phpcompatibility/phpcompatibility-wp: ^2.1
  • wp-coding-standards/wpcs: ^3.1.0

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with composer run phpcs
  5. Submit a pull request

License

GPL-3.0-only

Author

Sultan Nasir Uddin
Email: sultan@byteever.com
Organization: ByteEver

Part of the ByteEver development toolkit for WordPress and PHP projects.

统计信息

  • 总下载量: 4.77k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: GPL-3.0-only
  • 更新时间: 2023-10-25