83 lines
4.1 KiB
XML
83 lines
4.1 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset name="PHPCompatibilityWP">
|
|
<description>WordPress specific ruleset which checks for PHP cross version compatibility.</description>
|
|
|
|
<!--
|
|
The WordPress minimum PHP requirement was 5.2.4 up to WP 5.1.
|
|
As of WP 5.2, the new minimum PHP requirement is PHP 5.6.20.
|
|
Add the following in your project PHP_CodeSniffer ruleset to enforce this:
|
|
<config name="testVersion" value="5.6-"/>
|
|
|
|
This directive is not included in this ruleset as individual projects may use
|
|
a different (higher) minimum PHP version.
|
|
-->
|
|
|
|
<rule ref="PHPCompatibility">
|
|
<!--
|
|
Contained in /wp-includes/compat.php.
|
|
|
|
History of the polyfills in WP:
|
|
* hash_hmac(): since WP 3.2.0.
|
|
* json_encode() and json_decode(): since unknown.
|
|
* hash_equals(): since WP 3.9.2.
|
|
* JSON_PRETTY_PRINT: since WP 4.1.0.
|
|
* json_last_error_msg(): since WP 4.4.0.
|
|
* JsonSerializable: since WP 4.4.0.
|
|
* array_replace_recursive(): since WP 4.5.3 up to 5.2.x. The polyfill was removed in WP 5.3.
|
|
* is_iterable(): since WP 4.9.6
|
|
* is_countable(): since WP 4.9.6
|
|
* IMAGETYPE_WEBP and IMG_WEBP: since WP 5.8.0.
|
|
* array_key_first(): since WP 5.9.0
|
|
* array_key_last(): since WP 5.9.0
|
|
* str_contains(): since WP 5.9.0
|
|
* str_starts_with(): since WP 5.9.0
|
|
* str_ends_with(): since WP 5.9.0
|
|
-->
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.hash_hmacFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.json_encodeFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.json_decodeFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.hash_equalsFound"/>
|
|
<exclude name="PHPCompatibility.Constants.NewConstants.json_pretty_printFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.json_last_error_msgFound"/>
|
|
<exclude name="PHPCompatibility.Interfaces.NewInterfaces.jsonserializableFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.array_replace_recursiveFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.is_iterableFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.is_countableFound"/>
|
|
<exclude name="PHPCompatibility.Constants.NewConstants.imagetype_webpFound"/>
|
|
<exclude name="PHPCompatibility.Constants.NewConstants.img_webpFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.array_key_firstFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.array_key_lastFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.str_containsFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.str_starts_withFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.str_ends_withFound"/>
|
|
|
|
<!--
|
|
Contained in /wp-includes/spl-autoload-compat.php.
|
|
|
|
History of the polyfills in WP:
|
|
* spl_autoload_register(), spl_autoload_unregister() and spl_autoload_functions() were
|
|
introduced in WP 4.6.0 and available up to WP 5.2.x. The polyfills were removed in WP 5.3.
|
|
-->
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.spl_autoload_registerFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.spl_autoload_unregisterFound"/>
|
|
<exclude name="PHPCompatibility.FunctionUse.NewFunctions.spl_autoload_functionsFound"/>
|
|
</rule>
|
|
|
|
<!--
|
|
The ParagonieSodiumCompat ruleset includes the ParagonieRandomCompat ruleset.
|
|
|
|
RancomCompat is contained in /wp-includes/random_compat/ since WP 4.4.0
|
|
SodiumCompat is contained in /wp-includes/sodium_compat/ since WP 5.2.0
|
|
-->
|
|
<rule ref="PHPCompatibilityParagonieSodiumCompat"/>
|
|
|
|
<!-- Whitelist the WP Core mysql_to_rfc3339() function. -->
|
|
<rule ref="PHPCompatibility.Extensions.RemovedExtensions">
|
|
<properties>
|
|
<!-- Contained in /wp-includes/functions.php. -->
|
|
<property name="functionWhitelist" type="array" value="mysql_to_rfc3339"/>
|
|
</properties>
|
|
</rule>
|
|
|
|
</ruleset>
|