The SensitiveParameter class

(PHP 8 >= 8.2.0)

Introduction

This attribute is used to mark a parameter that is sensitive and should have its value redacted if present in a stack trace.

Class synopsis

final class SensitiveParameter {
/* Methods */
public __construct()
}

Examples

<?phpfunction defaultBehavior(    string $secret,    string $normal) {    throw new Exception('Error!');}function sensitiveParametersWithAttribute(    #[\SensitiveParameter]    string $secret,    string $normal) {    throw new Exception('Error!');}try {    defaultBehavior('password', 'normal');} catch (Exception $e) {    echo $e, PHP_EOL, PHP_EOL;}try {    sensitiveParametersWithAttribute('password', 'normal');} catch (Exception $e) {    echo $e, PHP_EOL, PHP_EOL;}?>

Output of the above example in PHP 8.2 is similar to:

Exception: Error! in example.php:7
Stack trace:
#0 example.php(19): defaultBehavior('password', 'normal')
#1 {main}

Exception: Error! in example.php:15
Stack trace:
#0 example.php(25): sensitiveParametersWithAttribute(Object(SensitiveParameterValue), 'normal')
#1 {main}

Table of Contents