Skip to content

Commit

Permalink
Sync dtrace, serialization and filters
Browse files Browse the repository at this point in the history
  • Loading branch information
sy-records committed Sep 15, 2023
1 parent 2099460 commit e9116d7
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 18 deletions.
10 changes: 1 addition & 9 deletions features/dtrace.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: bf345aac8b6e0c72234ca71a6f6e12d756c75371 Maintainer: yuanyuqiang Status: ready -->
<!-- EN-Revision: 9e2d8231b5d8a3795b365c6770fab288e59e6249 Maintainer: yuanyuqiang Status: ready -->
<!-- CREDITS: Luffy -->

<chapter xml:id="features.dtrace" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
Expand Down Expand Up @@ -36,14 +36,6 @@
需要注意的是,不同平台提供的 DTrace 功能并不完全相同。
</para>

<para>
从 PHP 5.4 开始加入 DTrace 静态探针,之前的版本需要使用
<link xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="&url.pecl;">PECL</link>
扩展来实现跟踪功能。这个扩展现在已经废弃。
</para>

<para>
在某些 Linux 发行版中,可以使用 SystemTap 工具来监控 PHP DTrace 静态探针。
</para>
Expand Down
16 changes: 9 additions & 7 deletions language/oop5/serialization.xml
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: daijie Status: ready -->
<!-- EN-Revision: ba6a83ca3558574695be5ef0a0e008e4e5f78ddb Maintainer: daijie Status: ready -->
<!-- CREDITS: Luffy -->
<!-- TODO Rewrite to remove usage of "you" and talk about __serialize/_unserialize -->
<sect1 xml:id="language.oop5.serialization" xmlns="http://docbook.org/ns/docbook">
<title>对象序列化</title>
<title>序列化对象 - 在会话中存放对象</title>

<para>
所有php里面的值都可以使用函数<function>serialize</function>来返回一个包含字节流的字符串来表示。<function>unserialize</function>函数能够重新把字符串变回php原来的值。
序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。
所有 PHP 里面的值都可以使用函数 <function>serialize</function> 来返回一个包含字节流的字符串来表示。<function>unserialize</function>
函数能够重新把字符串变回 PHP 原来的值。序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。
</para>

<para>
为了能够<function>unserialize</function>一个对象,这个对象的类必须已经定义过。如果序列化类A的一个对象,将会返回一个跟类A相关,而且包含了对象所有变量值的字符串。
如果要想在另外一个文件中反序列化一个对象,这个对象的类必须在反序列化之前定义,可以通过包含一个定义该类的文件或使用函数<function>spl_autoload_register</function>来实现。
为了能够 <function>unserialize</function> 一个对象,这个对象的类必须已经定义过。如果序列化类 A 的一个对象,将会返回一个跟类 A 相关,而且包含了对象所有变量值的字符串。
如果要想在另外一个文件中反序列化一个对象,这个对象的类必须在反序列化之前定义,可以通过包含一个定义该类的文件或使用函数 <function>spl_autoload_register</function> 来实现。
</para>

<informalexample>
Expand Down Expand Up @@ -56,11 +57,12 @@

<para>
在应用程序中序列化对象以便在之后使用,强烈推荐在整个应用程序都包含对象的类的定义。
不然有可能出现在反序列化对象的时候,没有找到该对象的类的定义,从而把没有方法的类<classname>__PHP_Incomplete_Class_Name</classname>作为该对象的类,导致返回一个没有用的对象。
不然有可能出现在反序列化对象的时候,没有找到该对象的类的定义,从而把没有方法的类 <classname>__PHP_Incomplete_Class_Name</classname> 作为该对象的类,导致返回一个没有用的对象。
</para>

<para>
所以在上面的例子中,当运行<literal>session_register("a")</literal>,把变量<varname>$a</varname>放在会话里之后,需要在每个页面都包含文件<literal>classa.inc</literal>,而不是只有文件<filename>page1.php</filename>和<filename>page2.php</filename>。
所以在上面的例子中,通过在 <varname>$_SESSION</varname> 超全局数组中添加新的键,把变量 <varname>$a</varname> 放在会话里之后,需要在每个页面都包含文件 <literal>classa.inc</literal>,
而不是只有文件 <filename>page1.php</filename> 和 <filename>page2.php</filename>。
</para>

<para>
Expand Down
5 changes: 3 additions & 2 deletions reference/filter/filters.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 18a59d257ac885abb0646b2646fb82b35b90ef56 Maintainer: mowangjuanzi Status: ready -->
<!-- EN-Revision: 372e1b4d392a909073c06aba5975d7bedbf0b725 Maintainer: mowangjuanzi Status: ready -->
<!-- CREDITS: Luffy -->
<chapter xml:id="filter.filters" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>过滤器类型</title>

Expand Down Expand Up @@ -323,7 +324,7 @@
<entry><constant>FILTER_SANITIZE_FULL_SPECIAL_CHARS</constant></entry>
<entry>"full_special_chars"</entry>
<entry>
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>,
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>
</entry>
<entry>
Equivalent to calling <function>htmlspecialchars</function> with <constant>ENT_QUOTES</constant> set. Encoding quotes can
Expand Down

0 comments on commit e9116d7

Please sign in to comment.