Skip to content

polylang/polylang-cs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polylang Coding Standards

Version License: MIT

Polylang Coding Standards is a ruleset for code quality tools to be used in WP Syntex's projects.

Installation

Standards are provided as a Composer package and can be installed with:

composer require --dev wpsyntex/polylang-cs:dev-main

PHP Code Sniffer

Set of PHP_CodeSniffer rules.

The following rulesets are included:

  • Several custom sniffs mainly focused on naming conventions,
  • NeutronStandard,
  • PHPCompatibilityWP (for PHP and WP version),
  • Suin (unmaintained; breaks on PHP 8.2+ with deprecation errors. Exclude Suin.Classes.PSR4 in your phpcs.xml.dist and enforce PSR-4 with composer.json autoload.psr-4 instead),
  • WordPress,
  • WordPressVIPMinimum.

Example for your phpcs.xml.dist file:

<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Polylang Foobar" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
    <description>Coding standards for Polylang Foobar.</description>

    <arg value="p"/><!-- Shows progress. -->
    <arg name="colors"/><!-- Shows results with colors. -->
    <arg name="extensions" value="php"/><!-- Limits to PHP files. -->

    <file>.</file>

    <!-- Our own ruleset. -->
    <rule ref="Polylang">
        <exclude name="Squiz.PHP.CommentedOutCode.Found"/>
        <exclude name="WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize"/>
    </rule>

    <!-- Run against the PHPCompatibility ruleset: PHP 5.6 and higher + WP 5.4 and higher. -->
    <config name="testVersion" value="5.6-"/>
    <config name="minimum_supported_wp_version" value="5.4"/>
</ruleset>

When referencing this ruleset with nested <exclude> rules, omit <arg name="cache"/> (PHPCS cache can ignore them).

About

Polylang Coding Standards is a ruleset for code quality tools to be used in WP Syntex's projects.

Topics

Resources

License

Stars

0 stars

Watchers

2 watching

Forks

Contributors

Languages