The SensitiveParameter attribute
Guide
Edit on GitHub ✎
This attribute is used to mark a parameter that is sensitive and should have its value redacted if present in a stack trace.
Intro
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
#[\Attribute(\Attribute::TARGET_PARAMETER)] SensitiveParameter { }
Examples
php
<?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 $e, PHP_EOL, PHP_EOL;
}
try {
sensitiveParametersWithAttribute('password', 'normal');
} catch (Exception $e) {
echo $e, PHP_EOL, PHP_EOL;
}
?>Similar
output
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}See Also
- Attributes overview
SensitiveParameterValue
Construct