Working with sensitive information
Supporting Payum
<?php
use Payum\Core\Security\SensitiveValue;
$cardNumber = new SensitiveValue('theCreditCardNumber');
serialize($cardNumber);
//null
clone $cardNumber;
// exception
$cardNumber->erase();
// remove value forever.
$cardNumber->get();
// get sensitive value and erase it
$cardNumber->peek();
// get sensitive value but do not erase it. use this method carefully
(string) $cardNumber;
// empty string
json_encode($cardNumber);
// {}
var_dump($cardNumber);
// does not print sensitive dataLast updated