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

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

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

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

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

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

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

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

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

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

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

Ноябрь 2, 2012 г.

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

Читать

Как произвести в PHP HTTP авторизацию в запросе через curl

Сентябрь 17, 2020 г.

Пример кода, выполняющий HTTP авторизацию при запросе через curl. Этот тип авторизации также известен как BASIC. Для формирования правильных заголовков запроса вам потребуется правильно установить две опции curl: CURLOPT_HTTPAUTH и CURLOPT_USERPWD. ...

Читать

 

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

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



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

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

  1. Андрей:

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

  2. timur:

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