-
Notifications
You must be signed in to change notification settings - Fork 106
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cca949e
commit 35ae04f
Showing
9 changed files
with
188 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- $Revision$ --> | ||
<!-- EN-Revision: c0e48705eb88453af785e0e4a6cbd526085dfe3a Maintainer: Luffy Status: ready --> | ||
<reference xml:id="class.php-incomplete-class" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"> | ||
|
||
<title>__PHP_Incomplete_Class 类</title> | ||
<titleabbrev>__PHP_Incomplete_Class</titleabbrev> | ||
|
||
<partintro> | ||
|
||
<section xml:id="php-incomplete-class.intro"> | ||
&reftitle.intro; | ||
<para> | ||
由 <function>unserialize</function> 创建的在尝试反序列化未定义类或未在 <function>unserialize</function> | ||
的 <parameter>options</parameter> 数组的 <literal>allowed_classes</literal> | ||
中列出的类。 | ||
</para> | ||
|
||
<para> | ||
在 PHP 7.2.0 之前,对 <classname>__PHP_Incomplete_Class</classname> 类使用 <function>is_object</function> | ||
会返回 &false;。从 PHP 7.2.0 开始,将返回 &true;。 | ||
</para> | ||
</section> | ||
|
||
<section xml:id="php-incomplete-class.synopsis"> | ||
&reftitle.classsynopsis; | ||
|
||
<classsynopsis class="class"> | ||
<ooclass> | ||
<modifier>final</modifier> | ||
<classname>__PHP_Incomplete_Class</classname> | ||
</ooclass> | ||
</classsynopsis> | ||
|
||
<para> | ||
此类没有默认属性或方法。 | ||
由 <function>unserialize</function> 创建时, | ||
除了所有反序列化的属性和值之外, | ||
对象还将具有一个 <literal>__PHP_Incomplete_Class_Name</literal> 属性, | ||
该属性将包含反序列化类的名称。 | ||
</para> | ||
</section> | ||
|
||
<section xml:id="php-incomplete-class.changelog" role="changelog"> | ||
&reftitle.changelog; | ||
<informaltable> | ||
<tgroup cols="2"> | ||
<thead> | ||
<row> | ||
<entry>&Version;</entry> | ||
<entry>&Description;</entry> | ||
</row> | ||
</thead> | ||
<tbody> | ||
<row> | ||
<entry>8.0.0</entry> | ||
<entry> | ||
此类现在是 <literal>final</literal>。 | ||
</entry> | ||
</row> | ||
</tbody> | ||
</tgroup> | ||
</informaltable> | ||
</section> | ||
|
||
<section xml:id="php-incomplete-class.examples" role="examples"> | ||
&reftitle.examples; | ||
<example xml:id="php-incomplete-class.basic-example"> | ||
<title>由 <function>unserialize</function> 创建</title> | ||
<programlisting role="php"> | ||
<![CDATA[ | ||
<?php | ||
class MyClass | ||
{ | ||
public string $property = "myValue"; | ||
} | ||
$myObject = new MyClass; | ||
$foo = serialize($myObject); | ||
// unserializes all objects into __PHP_Incomplete_Class objects | ||
$disallowed = unserialize($foo, ["allowed_classes" => false]); | ||
var_dump($disallowed); | ||
// unserializes all objects into __PHP_Incomplete_Class objects except those of MyClass2 and MyClass3 | ||
$disallowed2 = unserialize($foo, ["allowed_classes" => ["MyClass2", "MyClass3"]]); | ||
var_dump($disallowed2); | ||
// unserializes undefined class into __PHP_Incomplete_Class object | ||
$undefinedClass = unserialize('O:16:"MyUndefinedClass":0:{}'); | ||
var_dump($undefinedClass); | ||
]]> | ||
</programlisting> | ||
&example.outputs; | ||
<screen> | ||
<![CDATA[ | ||
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" | ||
} | ||
]]> | ||
</screen> | ||
</example> | ||
</section> | ||
|
||
</partintro> | ||
|
||
</reference> | ||
<!-- Keep this comment at the end of the file | ||
Local variables: | ||
mode: sgml | ||
sgml-omittag:t | ||
sgml-shorttag:t | ||
sgml-minimize-attributes:nil | ||
sgml-always-quote-attributes:t | ||
sgml-indent-step:1 | ||
sgml-indent-data:t | ||
indent-tabs-mode:nil | ||
sgml-parent-document:nil | ||
sgml-default-dtd-file:"~/.phpdoc/manual.ced" | ||
sgml-exposed-tags:nil | ||
sgml-local-catalogs:nil | ||
sgml-local-ecat-files:nil | ||
End: | ||
vim600: syn=xml fen fdm=syntax fdl=2 si | ||
vim: et tw=78 syn=sgml | ||
vi: ts=1 sw=1 | ||
--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters