承接 builtnorth/coding-standards 相关项目开发

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

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

builtnorth/coding-standards

最新稳定版本:1.0.0

Composer 安装命令:

composer require builtnorth/coding-standards

包简介

Built North coding standards for WordPress projects, extending WPCS with modern PHP practices

README 文档

README

WordPress coding standards for Built North projects, extending WPCS with modern PHP practices.

Overview

This package provides a consistent set of coding standards for all Built North WordPress projects. It extends the WordPress Coding Standards (WPCS) while allowing modern PHP features and PSR-4 autoloading.

Installation

Add to your project via Composer:

composer require --dev builtnorth/coding-standards

Usage

Basic Usage

Create a phpcs.xml file in your project root:

<?xml version="1.0"?>
<ruleset name="My Project">
    <description>Coding standards for my project</description>
    
    <!-- Use Built North standards -->
    <rule ref="BuiltNorth"/>
    
    <!-- Project-specific text domain -->
    <rule ref="WordPress.WP.I18n">
        <properties>
            <property name="text_domain" type="array">
                <element value="my-text-domain"/>
            </property>
        </properties>
    </rule>
</ruleset>

Running the Standards

# Check your code
vendor/bin/phpcs

# Fix auto-fixable issues
vendor/bin/phpcbf

# Check specific file or directory
vendor/bin/phpcs src/

# Check with specific standard
vendor/bin/phpcs --standard=BuiltNorth

What's Included

Base Standards

  • WordPress Coding Standards (WPCS) 3.0+
  • PHP Compatibility checks for PHP 8.1+
  • PSR-1/PSR-2 file structure rules

Modern PHP Features Allowed

  • ✅ Short array syntax []
  • ✅ Short ternary operator ?:
  • ✅ Namespaces and PSR-4 autoloading
  • ✅ Modern PHP 8.1+ features

Excluded WordPress Rules

  • File naming conventions (we use PSR-4)
  • Yoda conditions requirement
  • File comment requirements
  • Overly strict comment punctuation

File Exclusions

Automatically excludes from scanning:

  • /vendor/
  • /node_modules/
  • /build/ and /dist/
  • *.min.js and *.min.css
  • WordPress core files
  • Test bootstrap files

Customization

Adding Project-Specific Rules

Your project's phpcs.xml can add additional rules:

<rule ref="BuiltNorth"/>

<!-- Add project-specific rules -->
<rule ref="WordPress.WP.EnqueuedResourceParameters"/>

<!-- Or exclude specific rules -->
<rule ref="BuiltNorth">
    <exclude name="WordPress.NamingConventions.PrefixAllGlobals"/>
</rule>

Setting Prefixes for Global Functions

<rule ref="WordPress.NamingConventions.PrefixAllGlobals">
    <properties>
        <property name="prefixes" type="array">
            <element value="my_prefix"/>
            <element value="MyNamespace"/>
        </property>
    </properties>
</rule>

Integration with CI/CD

GitHub Actions Example

- name: Install dependencies
  run: composer install

- name: Run PHPCS
  run: vendor/bin/phpcs --report=checkstyle | cs2pr

Pre-commit Hook

Add to .git/hooks/pre-commit:

#!/bin/bash
vendor/bin/phpcs --filter=GitStaged

Philosophy

Our coding standards aim to:

  1. Embrace Modern PHP: Use PHP 8.1+ features while maintaining WordPress compatibility
  2. Prioritize Readability: Code should be self-documenting with clear naming
  3. Support PSR-4: Use modern autoloading instead of WordPress file naming
  4. Balance Strictness: Enforce important standards without being pedantic
  5. Enable Consistency: Same standards across all Built North projects

Requirements

  • PHP >= 8.1
  • Composer
  • WordPress project (for context-aware rules)

Contributing

To contribute to these standards:

  1. Clone the repository
  2. Make your changes to BuiltNorth/ruleset.xml
  3. Test with real projects
  4. Submit a pull request with reasoning for changes

License

MIT

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-11