(PHP 4 >=4.0.1, PHP 5, PHP 7, PHP 8)
    Объект класса создаётся функцией unserialize()
    при попытке десериализации неопределённого класса
    или класса, который не указали в списке allowed_classes
    в параметре options функции unserialize().
   
    До PHP 7.2.0 функция is_object(), которую вызывали
    на объекте класса __PHP_Incomplete_Class, возвращала false.
    С PHP 7.2.0 такой вызов будет возвращать true.
   
    В классе нет свойств или методов по умолчанию.
    Когда функция unserialize() создаёт объект неполного класса,
    в дополнение к остальным несериализованным свойствам и значениям объект
    будет содержать свойство __PHP_Incomplete_Class_Name, которое
    будет содержать название несериализованного класса.
   
| Версия | Описание | 
|---|---|
| 8.0.0 | К определению класса добавили модификатор final, который сделал класс окончательным. | 
Пример #1 Пример того, как функция unserialize() создаёт объект неполного класса
<?php
class MyClass
{
    public string $property = "myValue";
}
$myObject = new MyClass();
$foo = serialize($myObject);
// Любой объект десериализуется в объект класса __PHP_Incomplete_Class
$disallowed = unserialize($foo, ["allowed_classes" => false]);
var_dump($disallowed);
// Объекты, которые не принадлежат классам MyClass2 и MyClass3, десериализуются в объект класса __PHP_Incomplete_Class
$disallowed2 = unserialize($foo, ["allowed_classes" => ["MyClass2", "MyClass3"]]);
var_dump($disallowed2);
// Объект неопределённого класса десериализуется в объект класса __PHP_Incomplete_Class
$undefinedClass = unserialize('O:16:"MyUndefinedClass":0:{}');
var_dump($undefinedClass);
?>Результат выполнения приведённого примера:
object(__PHP_Incomplete_Class)#2 (2) {
  ["__PHP_Incomplete_Class_Name"]=>
  string(7) "MyClass"
  ["property"]=>
  string(7) "myValue"
}
object(__PHP_Incomplete_Class)#3 (2) {
  ["__PHP_Incomplete_Class_Name"]=>
  string(7) "MyClass"
  ["property"]=>
  string(7) "myValue"
}
object(__PHP_Incomplete_Class)#4 (1) {
  ["__PHP_Incomplete_Class_Name"]=>
  string(16) "MyUndefinedClass"
}
