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

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

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

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

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

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

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

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

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

Как в PHP записать данные в файл?

Ноябрь 12, 2015 г.

Рассмотрим несколько способов сохранения данных в файл. Функция file_put_contents() для записи в файл Функция появилась в 5й версии PHP. Это самый простой, наверное, способ записать скалярные данные (строку или текст) в файл. [crayon-6a13e29405434077870690/] ...

Читать

Функция сравнения двух строк на PHP

Август 1, 2017 г.

Насколько похожи две строки? В PHP для выяснения подобия строк есть две функции - similar_text() и levenshtein(). Первая из них считает процент ...

Читать

Обмен данных Angular с бек-энд на PHP

Ноябрь 11, 2016 г.

Стоит ли рассказывать, что Ангуляр при всей своей прелести лишь одна сторона медали - frontend, который как то должен взаимодействовать со второй половинкой ...

Читать

Переводим строку в число с плавающей запятой в PHP

Май 7, 2018 г.

Скаляры для PHP все на одно лицо. Строки или числа, с плавающей запятой или без. PHP не заморачивается. Ему не нужны строгие рамки типов скаляра. Платить за эту вольность приходится довольно скоро. Начнем с того, что PHP знает два оператора сложения, ...

Читать
 

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

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



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

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

  1. Андрей:

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

  2. timur:

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