Как получить значение из объекта?

#php #symfony #object #symfony-4.2

#php #symfony #объект #symfony-4.2

Вопрос:

Я работаю над Symfony 4.2, я извлек сеанс в своем контроллере следующим образом:

$data = $this->get(‘security.token_storage’)->getToken()->getUser();

когда я

дамп ($data);

дает мне,

 DashboardController.php on line 17:
User {#504 ▼
  -id: 1
  -f_name: "Kumar"
  -l_name: "Saurabh"
  -username: "supa-admin"
  -password: "$2y$12$qerXOggk6RdKjoE1J4R5I.OzvSYuGdq6E.m1bZp.cPMxolCd/F1xm"
  -email: "some_email@gmail.com"
  -address: Address {#525 ▶}
  -contact: 78954
  -gender: "male"
  -age: 26
}
  

Вот, как я могу получить ‘f_name’ из этого объекта?

Комментарии:

1. $data->f_name попробуйте это

2. User Класс создан самостоятельно или это часть библиотеки? Если вы создали его самостоятельно, вы могли бы добавить getFName() метод. В противном случае вам придется заглянуть в класс или его документацию, вероятно, подобный метод существует.

3. @AjayNamdev: Я пробовал это в самом начале, выдает ошибку ‘Не удается получить доступ к частной собственности App Entity User:: $ f_name’

4. @AnthonyB: спасибо, приятель, я получил значение.

Ответ №1:

похоже, вам нужно создать установщики и геттеры в вашей пользовательской модели / сущности. Или вы могли бы создать функцию __get() / __set() внутри той же модели / объекта, чтобы получить эту информацию.