PHP 8.0.26 Released!

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 {
}

Examples

<?php

function 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 
$ePHP_EOLPHP_EOL;
}

try {
    
sensitiveParametersWithAttribute('password''normal');
} catch (
Exception $e) {
    echo 
$ePHP_EOLPHP_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}
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top