Задать вопрос

Как быстро и правильно преобразовать массив в экземпляр класса?

В сессии хранится массив с данными юзера, т. е. login, e-mail, avatar и т. п. Надо по быстрому создать экземпляр класса User, у которого свойства в точности совпадают с именами элементов массива. Как это сделать в одну строку?
Вариант $user = new User($_SESSION['name'], $_SESSION['email']... ) - слишком неуклюжий. Вот, например, обратный процесс выполняется легко:

$_SESSION = (array)$user;

Можно аналогично выполнить и преобразование массив->объект?

Спасибо.
  • Вопрос задан
  • 394 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
FanatPHP
@FanatPHP
Чебуратор тега РНР
В сессии надо хранить не массив, а объект
Ответ написан
breefix
@breefix
Технолог
Как-то так (в примере еще вложенные массивы учитываются):
www.richardcastera.com/blog/php-convert-array-to-o...
Ответ написан
Комментировать
65536
@65536
ну если стдкласс вас устроит можно так json_decode(json_encode($_SESSION['user'])); но все это колхоз ненужный
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Как на счёт аналогичного?:
$user = (object)$_SESSION;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы