У меня есть класс Пользователь с переменной: private $ uPass;PHP OOP - приватная переменная, доступная из внешнего класса с var_dump?
Я только заметил, что при создании экземпляра User и я запускаю var_dump на этом экземпляре, который просто перечисляет все частные переменные? Есть ли способ отключить это?
class User
{
private $uId;
private $uName;
private $uPass;
private $uPowers;
$teamMembers[$count] = new User();
foreach ($teamMembers as $teamMember)
{
var_dump($teamMember);
}
И тогда выход только показывает все, в том числе пароли ... Ofcourse они зашифрованы, но до сих пор не хотят, чтобы они были доступны, как это !?
Каков правильный способ решить эту проблему?
var_dump() не совпадает с доступом к частным переменным. Они все еще недоступны для вашего кода. Просто для вашего класса, инструментов отладки и отражения. –
Если var_dump является проблемой для вас, проверьте [ReflectionClass] (http://stackoverflow.com/questions/11604946/can-i-get-the-value-of-a-private-property-with-reflection) тоже Вы не можете «скрыть» значение от них, например, вы не можете скрыть его из ваших инструментов базы данных. Вы можете избежать заполнения значения в PHP и только протестировать его в БД. – Gectou4