PHP print_r частный объект

#php #object

#php #объект

Вопрос:

У меня есть объект, который имеет закрытые ключи, подобные этому _errors:private . Я пытаюсь print_r дальше по многомерному массиву (чтобы получить конкретные коды ошибок). Но когда я пытаюсь print_r , появляется пустой. Как мне получить тысячи объектов?

Ответ №1:

Если он является частным, это означает, что к нему нельзя получить доступ извне класса. Вы могли бы написать «getter», который является функцией, которая вернет это значение. Вы можете думать об этом как о банковском хранилище и кассире. Вы не можете получить свои деньги из хранилища самостоятельно, вы должны попросить кассира (в программировании, получателя) перейти в хранилище и передать его вам.

 private $secret_var;

public function secret_var_getter(){
   return $secret_var;
}
  

в этом примере попытка выполнить $object->secret_var вызовет ошибку и ошибку, поскольку это частная собственность, но вызов $object->secret_var_getter(); приведет к получению частного параметра.

Ответ №2:

Сделайте их общедоступными, напишите геттер или используйте get_object_vars .