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

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

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

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

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

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

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

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

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

Загрузка-выгрузка в формате excel из PHP

Август 25, 2017 г.

Встроенные библиотеки PHP не позволяют работать с форматами данных популярного табличного процессора Excel. За исключением текстового формата CSV (см. ...

Читать

Считаем полное число строк в запросе MySQL, ограниченного LIMIT

Ноябрь 2, 2012 г.

О полезном операторе - SQL_CALC_FOUND_ROWS. Это конструкция просто незаменима для организации постраничного вывода каких либо данных. Все время забываю синтаксис, приходится каждый раз искать. Решил записать в блоге, чтобы уж не терять :). Во всех ...

Читать

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

Май 4, 2017 г.

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

Читать

PHP проверка адреса электронной почты, email

Ноябрь 10, 2015 г.

Серию валидаторов пополняю функцией проверки введенного email на соответствие формальным требованиям. По стандарту RFC822 Если есть необходимость соблюсти все требования, которые упомянуты в громоздкой спецификации RFC822, то лучший путь - воспользоваться ...

Читать
 

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

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



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

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

  1. Андрей:

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

  2. timur:

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