Восстанавливаем объект из состояния __PHP_Incomplete_Class_Name

Объект класса «__PHP_Incomplete_Class» с дополнительным свойством __PHP_Incomplete_Class_Name => ‘имя класса’ появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении объекта в сессии, когда сессия открывается до подключения файлов описаний классов.

Выглядит структура такого объекта например так:

Чтобы избежать данной проблемы необходимо лишь подключить описания классов до старта сессии:

Но, во-первых, сессия может запускаться автоматически, а во-вторых, может не оказаться возможности подключить свои файлы в нужном месте (к примеру, если так устроен движок, для которого вы пишите свой код). По идее, все нужные данные есть, почему бы не написать что то вроде:

К сожалению, в PHP такой фокус не пройдет. :)

Вместо этого напишем простую функцию по инициализации объекта myClass из экземпляра класса __PHP_Incomplete_Class.

Тогда перед использованием объекта необходимо будет запустить его инициализацию:

Написать комментарий

Мало букафф? Читайте есчо !

Регистрация/авторизация в Drupal по учетке в соц.сетях

Май 12, 2013 г.

Самое не приятное, с чем можно встретиться на многих сайтах - это регистрация учетной записи. Неприятное ощущение усиливается ещё и от контраста - везде ...

Читать

Определить город по IP адресу

Май 4, 2017 г.

Писал ранее об API ipinfo.io. Сервис позволяет вытащить как гео координаты, так и названия города, региона, страны. Единственный недостаток - информация на английском языке. В данной статье рассмотрим пару примеров использования сервиса. Обращение ...

Читать

 

Комментарии к «Восстанавливаем объект из состояния __PHP_Incomplete_Class_Name»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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

Много комментариев в “Восстанавливаем объект из состояния __PHP_Incomplete_Class_Name”

  1. Андрей:

    При копировании кода все в строку потом вставляется!..

  2. timur:

    Спасибо большое! Пол дня не мог решить проблему. Ваш сайт помог! Здравия вам и успехов!