PHP Incomplete Class
Klassen __PHP_Incomplete_Class
(PHP 4.0.1, PHP 5, PHP 7, PHP 8)
Introduktion
Skapas av `unserialize()` när man försöker avserialisera en odefinierad klass eller en klass som inte finns med i `allowed_classes` i `unserialize()`s options-array.
Innan PHP 7.2.0 skulle användning av `is_object()` på klassen __PHP_Incomplete_Class returnera `false`. Från och med PHP 7.2.0 kommer den att returnera `true`.
Klassöversikt
class __PHP_Incomplete_Class { }
Denna klass har inga standardegenskaper eller metoder. När den skapas av `unserialize()` kommer objektet, förutom alla avserialiserade egenskaper och värden, att ha en egenskap `__PHP_Incomplete_Class_Name` som innehåller namnet på den avserialiserade klassen.
Exempel
Exempel #1 Skapad av unserialize()
<?php class MyClass { public string $property = "myValue"; } $myObject = new MyClass; $foo = serialize($myObject); // Avserialiserar alla objekt till __PHP_Incomplete_Class-objekt $disallowed = unserialize($foo, ["allowed_classes" => false]); var_dump($disallowed); // Avserialiserar alla objekt till __PHP_Incomplete_Class-objekt förutom de av MyClass2 och MyClass3 $disallowed2 = unserialize($foo, ["allowed_classes" => ["MyClass2", "MyClass3"]]); var_dump($disallowed2); // Avserialiserar en odefinierad klass till ett __PHP_Incomplete_Class-objekt $undefinedClass = unserialize('O:16:"MyUndefinedClass":0:{}'); var_dump($undefinedClass); ?>
Ovanstående exempel kommer att ge något liknande:
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" }
Sidslut
Orginalhemsidan på Engelska : https://www.php.net/manual/en/class.php-incomplete-class.php
PHP
Språkreferens
Fördefinierade Gränssnitt och Klasser
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.