У меня есть экземпляр объекта DB , который передается объекту Session , поскольку у объекта Session есть несколько методов, использующих DB объект для выполнения операторов SQL Я планировал сохранить этот DB объект в Session свойство объекта.
В ходе тестирования я обнаружил, что print_r
выставил объект DB , сохраненный в свойстве объекта Session ; в вывод был включен db user / password.
Поэтому я хотел сохранить объект DB в частном статическом члене, чтобы предотвратить раскрытие этой информации при каждом вызове print_r
объекта Session .
Это допустимо, или просто плохое использование статического члена?
Какой рекомендуемый способ предотвращения раскрытия свойства частного объекта во время print_r
?
Вот пример кода.
До:
class Session
{
public __construct(DB $db)
{
$this->db = $db;
}
}
После того, как:
class Session
{
private static $db;
pubic __construct(DB $db)
{
self::$db = $db;
}
}