Fork me on GitHub
a Sensio Labs Product

Persian Successor (v3.65.0) edition

Rule error_suppression

Error control operator should be added to deprecation notices and/or removed from other cases.

Warning

Using this rule is risky

Risky because adding/removing @ might cause changes to code behaviour or if trigger_error function is overridden.

Configuration

mute_deprecation_error

Whether to add @ in deprecation notices.

Allowed types: bool

Default value: true

noise_remaining_usages

Whether to remove @ in remaining usages.

Allowed types: bool

Default value: false

noise_remaining_usages_exclude

List of global functions to exclude from removing @.

Allowed types: list<string>

Default value: []

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
-trigger_error('Warning.', E_USER_DEPRECATED);
+@trigger_error('Warning.', E_USER_DEPRECATED);

Example #2

With configuration: ['noise_remaining_usages' => true].

--- Original
+++ New
 <?php
-@mkdir($dir);
-@unlink($path);
+mkdir($dir);
+unlink($path);

Example #3

With configuration: ['noise_remaining_usages' => true, 'noise_remaining_usages_exclude' => ['unlink']].

--- Original
+++ New
 <?php
-@mkdir($dir);
+mkdir($dir);
 @unlink($path);

Rule sets

The rule is part of the following rule sets:

References

The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.