UNPKG

manual-php

Version:
3,991 lines 140 kB
<!DOCTYPE HTML>
<html lang="zh-hans" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>魔术方法 · PHP</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        <meta name="author" content="Kuriv Vesti">
        
        
    
    <link rel="stylesheet" href="../../../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../../../gitbook/gitbook-plugin-back-to-top-button/plugin.css">
                
            
                
                <link rel="stylesheet" href="../../../gitbook/gitbook-plugin-chapter-fold/chapter-fold.css">
                
            
                
                <link rel="stylesheet" href="../../../gitbook/gitbook-plugin-lightbox/css/lightbox.min.css">
                
            
                
                <link rel="stylesheet" href="../../../gitbook/gitbook-plugin-prism/prism-okaidia.css">
                
            
                
                <link rel="stylesheet" href="../../../gitbook/gitbook-plugin-search-pro/search.css">
                
            
                
                <link rel="stylesheet" href="../../../gitbook/gitbook-plugin-splitter/splitter.css">
                
            
                
                <link rel="stylesheet" href="../../../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../../../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="Final 关键字.html" />
    
    
    <link rel="prev" href="遍历对象.html" />
    

    
        <link rel="shortcut icon" href='../../../favicon.ico' type="image/x-icon">
    
    
        <link rel="bookmark" href='../../../favicon.ico' type="image/x-icon">
    
    
        <link rel="apple-touch-icon" href='../../../favicon.png'>
    
    
        
        <link rel="apple-touch-icon" sizes="120x120" href="../../../favicon-120x120.png">
        
        <link rel="apple-touch-icon" sizes="180x180" href="../../../favicon-180x180.png">
        
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="输入并搜索" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../../../">
            
                <a href="../../../">
            
                    
                    PHP
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1" data-path="../../语言参考.html">
            
                <a href="../../语言参考.html">
            
                    
                    语言参考
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.1" data-path="../基本语法.html">
            
                <a href="../基本语法.html">
            
                    
                    基本语法
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.1.1" data-path="../基本语法/PHP 标记.html">
            
                <a href="../基本语法/PHP 标记.html">
            
                    
                    PHP 标记
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.1.2" data-path="../基本语法/从 HTML 中分离.html">
            
                <a href="../基本语法/从 HTML 中分离.html">
            
                    
                    从 HTML 中分离
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.1.3" data-path="../基本语法/指令分隔符.html">
            
                <a href="../基本语法/指令分隔符.html">
            
                    
                    指令分隔符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.1.4" data-path="../基本语法/注释.html">
            
                <a href="../基本语法/注释.html">
            
                    
                    注释
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.2" data-path="../类型.html">
            
                <a href="../类型.html">
            
                    
                    类型
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.2.1" data-path="../类型/Boolean 布尔类型.html">
            
                <a href="../类型/Boolean 布尔类型.html">
            
                    
                    Boolean 布尔类型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.2" data-path="../类型/Integer 整型.html">
            
                <a href="../类型/Integer 整型.html">
            
                    
                    Integer 整型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.3" data-path="../类型/Float 浮点型.html">
            
                <a href="../类型/Float 浮点型.html">
            
                    
                    Float 浮点型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.4" data-path="../类型/String 字符串.html">
            
                <a href="../类型/String 字符串.html">
            
                    
                    String 字符串
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.5" data-path="../类型/Array 数组.html">
            
                <a href="../类型/Array 数组.html">
            
                    
                    Array 数组
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.6" data-path="../类型/Object 对象.html">
            
                <a href="../类型/Object 对象.html">
            
                    
                    Object 对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.7" data-path="../类型/Resource 资源类型.html">
            
                <a href="../类型/Resource 资源类型.html">
            
                    
                    Resource 资源类型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.8" data-path="../类型/NULL.html">
            
                <a href="../类型/NULL.html">
            
                    
                    NULL
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.9" data-path="../类型/Callable 可调用类型.html">
            
                <a href="../类型/Callable 可调用类型.html">
            
                    
                    Callable 可调用类型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.2.10" data-path="../类型/类型转换的判别.html">
            
                <a href="../类型/类型转换的判别.html">
            
                    
                    类型转换的判别
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.3" data-path="../变量.html">
            
                <a href="../变量.html">
            
                    
                    变量
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.3.1" data-path="../变量/基本语法.html">
            
                <a href="../变量/基本语法.html">
            
                    
                    基本语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.3.2" data-path="../变量/变量范围.html">
            
                <a href="../变量/变量范围.html">
            
                    
                    变量范围
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.3.3" data-path="../变量/可变变量.html">
            
                <a href="../变量/可变变量.html">
            
                    
                    可变变量
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.3.4" data-path="../变量/来自 PHP 之外的变量.html">
            
                <a href="../变量/来自 PHP 之外的变量.html">
            
                    
                    来自 PHP 之外的变量
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.4" data-path="../常量.html">
            
                <a href="../常量.html">
            
                    
                    常量
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.4.1" data-path="../常量/基本语法.html">
            
                <a href="../常量/基本语法.html">
            
                    
                    基本语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.4.2" data-path="../常量/魔术常量.html">
            
                <a href="../常量/魔术常量.html">
            
                    
                    魔术常量
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.5" data-path="../表达式.html">
            
                <a href="../表达式.html">
            
                    
                    表达式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6" data-path="../运算符.html">
            
                <a href="../运算符.html">
            
                    
                    运算符
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.6.1" data-path="../运算符/运算符优先级.html">
            
                <a href="../运算符/运算符优先级.html">
            
                    
                    运算符优先级
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.2" data-path="../运算符/算数运算符.html">
            
                <a href="../运算符/算数运算符.html">
            
                    
                    算数运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.3" data-path="../运算符/赋值运算符.html">
            
                <a href="../运算符/赋值运算符.html">
            
                    
                    赋值运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.4" data-path="../运算符/位运算符.html">
            
                <a href="../运算符/位运算符.html">
            
                    
                    位运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.5" data-path="../运算符/比较运算符.html">
            
                <a href="../运算符/比较运算符.html">
            
                    
                    比较运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.6" data-path="../运算符/错误控制运算符.html">
            
                <a href="../运算符/错误控制运算符.html">
            
                    
                    错误控制运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.7" data-path="../运算符/执行运算符.html">
            
                <a href="../运算符/执行运算符.html">
            
                    
                    执行运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.8" data-path="../运算符/递增递减运算符.html">
            
                <a href="../运算符/递增递减运算符.html">
            
                    
                    递增递减运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.9" data-path="../运算符/逻辑运算符.html">
            
                <a href="../运算符/逻辑运算符.html">
            
                    
                    逻辑运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.10" data-path="../运算符/字符串运算符.html">
            
                <a href="../运算符/字符串运算符.html">
            
                    
                    字符串运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.11" data-path="../运算符/数组运算符.html">
            
                <a href="../运算符/数组运算符.html">
            
                    
                    数组运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.6.12" data-path="../运算符/类型运算符.html">
            
                <a href="../运算符/类型运算符.html">
            
                    
                    类型运算符
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.7" data-path="../流程控制.html">
            
                <a href="../流程控制.html">
            
                    
                    流程控制
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.7.1" data-path="../流程控制/if.html">
            
                <a href="../流程控制/if.html">
            
                    
                    if
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.2" data-path="../流程控制/else.html">
            
                <a href="../流程控制/else.html">
            
                    
                    else
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.3" data-path="../流程控制/elseif.html">
            
                <a href="../流程控制/elseif.html">
            
                    
                    elseif
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.4" data-path="../流程控制/while.html">
            
                <a href="../流程控制/while.html">
            
                    
                    while
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.5" data-path="../流程控制/do-while.html">
            
                <a href="../流程控制/do-while.html">
            
                    
                    do-while
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.6" data-path="../流程控制/for.html">
            
                <a href="../流程控制/for.html">
            
                    
                    for
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.7" data-path="../流程控制/foreach.html">
            
                <a href="../流程控制/foreach.html">
            
                    
                    foreach
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.8" data-path="../流程控制/switch.html">
            
                <a href="../流程控制/switch.html">
            
                    
                    switch
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.9" data-path="../流程控制/break.html">
            
                <a href="../流程控制/break.html">
            
                    
                    break
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.10" data-path="../流程控制/continue.html">
            
                <a href="../流程控制/continue.html">
            
                    
                    continue
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.11" data-path="../流程控制/流程控制的替代语法.html">
            
                <a href="../流程控制/流程控制的替代语法.html">
            
                    
                    流程控制的替代语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.12" data-path="../流程控制/declare.html">
            
                <a href="../流程控制/declare.html">
            
                    
                    declare
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.13" data-path="../流程控制/return.html">
            
                <a href="../流程控制/return.html">
            
                    
                    return
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.14" data-path="../流程控制/require.html">
            
                <a href="../流程控制/require.html">
            
                    
                    require
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.15" data-path="../流程控制/include.html">
            
                <a href="../流程控制/include.html">
            
                    
                    include
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.16" data-path="../流程控制/require_once.html">
            
                <a href="../流程控制/require_once.html">
            
                    
                    require_once
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.17" data-path="../流程控制/include_once.html">
            
                <a href="../流程控制/include_once.html">
            
                    
                    include_once
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.7.18" data-path="../流程控制/goto.html">
            
                <a href="../流程控制/goto.html">
            
                    
                    goto
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.8" data-path="../函数.html">
            
                <a href="../函数.html">
            
                    
                    函数
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.8.1" data-path="../函数/用户自定义函数.html">
            
                <a href="../函数/用户自定义函数.html">
            
                    
                    用户自定义函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.8.2" data-path="../函数/函数的参数.html">
            
                <a href="../函数/函数的参数.html">
            
                    
                    函数的参数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.8.3" data-path="../函数/返回值.html">
            
                <a href="../函数/返回值.html">
            
                    
                    返回值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.8.4" data-path="../函数/可变函数.html">
            
                <a href="../函数/可变函数.html">
            
                    
                    可变函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.8.5" data-path="../函数/匿名函数.html">
            
                <a href="../函数/匿名函数.html">
            
                    
                    匿名函数
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.9" data-path="../类与对象.html">
            
                <a href="../类与对象.html">
            
                    
                    类与对象
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.9.1" data-path="基本语法.html">
            
                <a href="基本语法.html">
            
                    
                    基本语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.2" data-path="属性.html">
            
                <a href="属性.html">
            
                    
                    属性
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.3" data-path="类常量.html">
            
                <a href="类常量.html">
            
                    
                    类常量
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.4" data-path="类的自动加载.html">
            
                <a href="类的自动加载.html">
            
                    
                    类的自动加载
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.5" data-path="构造函数和析构函数.html">
            
                <a href="构造函数和析构函数.html">
            
                    
                    构造函数和析构函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.6" data-path="访问控制.html">
            
                <a href="访问控制.html">
            
                    
                    访问控制
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.7" data-path="对象继承.html">
            
                <a href="对象继承.html">
            
                    
                    对象继承
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.8" data-path="范围解析操作符.html">
            
                <a href="范围解析操作符.html">
            
                    
                    范围解析操作符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.9" data-path="Static 关键字.html">
            
                <a href="Static 关键字.html">
            
                    
                    Static 关键字
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.10" data-path="抽象类.html">
            
                <a href="抽象类.html">
            
                    
                    抽象类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.11" data-path="对象接口.html">
            
                <a href="对象接口.html">
            
                    
                    对象接口
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.12" data-path="Trait.html">
            
                <a href="Trait.html">
            
                    
                    Trait
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.13" data-path="匿名类.html">
            
                <a href="匿名类.html">
            
                    
                    匿名类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.14" data-path="重载.html">
            
                <a href="重载.html">
            
                    
                    重载
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.15" data-path="遍历对象.html">
            
                <a href="遍历对象.html">
            
                    
                    遍历对象
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.1.1.9.16" data-path="魔术方法.html">
            
                <a href="魔术方法.html">
            
                    
                    魔术方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.17" data-path="Final 关键字.html">
            
                <a href="Final 关键字.html">
            
                    
                    Final 关键字
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.18" data-path="对象复制.html">
            
                <a href="对象复制.html">
            
                    
                    对象复制
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.19" data-path="对象比较.html">
            
                <a href="对象比较.html">
            
                    
                    对象比较
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.20" data-path="类型约束.html">
            
                <a href="类型约束.html">
            
                    
                    类型约束
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.21" data-path="后期静态绑定.html">
            
                <a href="后期静态绑定.html">
            
                    
                    后期静态绑定
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.22" data-path="对象和引用.html">
            
                <a href="对象和引用.html">
            
                    
                    对象和引用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.9.23" data-path="对象序列化.html">
            
                <a href="对象序列化.html">
            
                    
                    对象序列化
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.10" data-path="../命名空间.html">
            
                <a href="../命名空间.html">
            
                    
                    命名空间
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.10.1" data-path="../命名空间/基本语法.html">
            
                <a href="../命名空间/基本语法.html">
            
                    
                    基本语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.2" data-path="../命名空间/定义子命名空间.html">
            
                <a href="../命名空间/定义子命名空间.html">
            
                    
                    定义子命名空间
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.3" data-path="../命名空间/在同一个文件中定义多个命名空间.html">
            
                <a href="../命名空间/在同一个文件中定义多个命名空间.html">
            
                    
                    在同一个文件中定义多个命名空间
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.4" data-path="../命名空间/使用命名空间 - 基础.html">
            
                <a href="../命名空间/使用命名空间 - 基础.html">
            
                    
                    使用命名空间 - 基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.5" data-path="../命名空间/命名空间和动态语言特征.html">
            
                <a href="../命名空间/命名空间和动态语言特征.html">
            
                    
                    命名空间和动态语言特征
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.6" data-path="../命名空间/namespace 关键字和 __NAMESPACE__ 魔术常量.html">
            
                <a href="../命名空间/namespace 关键字和 __NAMESPACE__ 魔术常量.html">
            
                    
                    namespace 关键字和 __NAMESPACE__ 魔术常量
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.7" data-path="../命名空间/使用命名空间 - 别名和导入.html">
            
                <a href="../命名空间/使用命名空间 - 别名和导入.html">
            
                    
                    使用命名空间 - 别名和导入
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.8" data-path="../命名空间/全局空间.html">
            
                <a href="../命名空间/全局空间.html">
            
                    
                    全局空间
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.9" data-path="../命名空间/使用命名空间 - 后备全局函数和常量.html">
            
                <a href="../命名空间/使用命名空间 - 后备全局函数和常量.html">
            
                    
                    使用命名空间 - 后备全局函数和常量
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.10.10" data-path="../命名空间/名称解析规则.html">
            
                <a href="../命名空间/名称解析规则.html">
            
                    
                    名称解析规则
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.11" data-path="../Errors.html">
            
                <a href="../Errors.html">
            
                    
                    Errors
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.12" data-path="../异常处理.html">
            
                <a href="../异常处理.html">
            
                    
                    异常处理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.12.1" data-path="../异常处理/基本语法.html">
            
                <a href="../异常处理/基本语法.html">
            
                    
                    基本语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.12.2" data-path="../异常处理/扩展 PHP 内置的异常处理类.html">
            
                <a href="../异常处理/扩展 PHP 内置的异常处理类.html">
            
                    
                    扩展 PHP 内置的异常处理类
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.13" data-path="../生成器.html">
            
                <a href="../生成器.html">
            
                    
                    生成器
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.13.1" data-path="../生成器/生成器总览.html">
            
                <a href="../生成器/生成器总览.html">
            
                    
                    生成器总览
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.13.2" data-path="../生成器/生成器语法.html">
            
                <a href="../生成器/生成器语法.html">
            
                    
                    生成器语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.13.3" data-path="../生成器/生成器与 Iterator 对象比较.html">
            
                <a href="../生成器/生成器与 Iterator 对象比较.html">
            
                    
                    生成器与 Iterator 对象比较
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.14" data-path="../引用的解释.html">
            
                <a href="../引用的解释.html">
            
                    
                    引用的解释
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.14.1" data-path="../引用的解释/引用是什么.html">
            
                <a href="../引用的解释/引用是什么.html">
            
                    
                    引用是什么
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.14.2" data-path="../引用的解释/引用不是什么.html">
            
                <a href="../引用的解释/引用不是什么.html">
            
                    
                    引用不是什么
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.14.3" data-path="../引用的解释/引用做什么.html">
            
                <a href="../引用的解释/引用做什么.html">
            
                    
                    引用做什么
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.14.4" data-path="../引用的解释/引用传递.html">
            
                <a href="../引用的解释/引用传递.html">
            
                    
                    引用传递
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.14.5" data-path="../引用的解释/引用返回.html">
            
                <a href="../引用的解释/引用返回.html">
            
                    
                    引用返回
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.14.6" data-path="../引用的解释/取消引用.html">
            
                <a href="../引用的解释/取消引用.html">
            
                    
                    取消引用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.14.7" data-path="../引用的解释/引用定位.html">
            
                <a href="../引用的解释/引用定位.html">
            
                    
                    引用定位
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.15" data-path="../预定义变量.html">
            
                <a href="../预定义变量.html">
            
                    
                    预定义变量
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.15.1" data-path="../预定义变量/超全局变量.html">
            
                <a href="../预定义变量/超全局变量.html">
            
                    
                    超全局变量
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.2" data-path="../预定义变量/$GLOBALS.html">
            
                <a href="../预定义变量/$GLOBALS.html">
            
                    
                    $GLOBALS
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.3" data-path="../预定义变量/$_GET.html">
            
                <a href="../预定义变量/$_GET.html">
            
                    
                    $_GET
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.4" data-path="../预定义变量/$_POST.html">
            
                <a href="../预定义变量/$_POST.html">
            
                    
                    $_POST
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.5" data-path="../预定义变量/$_COOKIE.html">
            
                <a href="../预定义变量/$_COOKIE.html">
            
                    
                    $_COOKIE
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.6" data-path="../预定义变量/$_REQUEST.html">
            
                <a href="../预定义变量/$_REQUEST.html">
            
                    
                    $_REQUEST
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.7" data-path="../预定义变量/$_FILES.html">
            
                <a href="../预定义变量/$_FILES.html">
            
                    
                    $_FILES
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.8" data-path="../预定义变量/$_SESSION.html">
            
                <a href="../预定义变量/$_SESSION.html">
            
                    
                    $_SESSION
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.9" data-path="../预定义变量/$_SERVER.html">
            
                <a href="../预定义变量/$_SERVER.html">
            
                    
                    $_SERVER
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.10" data-path="../预定义变量/$_ENV.html">
            
                <a href="../预定义变量/$_ENV.html">
            
                    
                    $_ENV
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.11" data-path="../预定义变量/$http_response_header.html">
            
                <a href="../预定义变量/$http_response_header.html">
            
                    
                    $http_response_header
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.12" data-path="../预定义变量/$argc.html">
            
                <a href="../预定义变量/$argc.html">
            
                    
                    $argc
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.15.13" data-path="../预定义变量/$argv.html">
            
                <a href="../预定义变量/$argv.html">
            
                    
                    $argv
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.16" data-path="../预定义异常.html">
            
                <a href="../预定义异常.html">
            
                    
                    预定义异常
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.16.1" data-path="../预定义异常/Exception.html">
            
                <a href="../预定义异常/Exception.html">
            
                    
                    Exception
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.16.2" data-path="../预定义异常/ErrorException.html">
            
                <a href="../预定义异常/ErrorException.html">
            
                    
                    ErrorException
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.17" data-path="../预定义接口.html">
            
                <a href="../预定义接口.html">
            
                    
                    预定义接口
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.17.1" data-path="../预定义接口/Traversable.html">
            
                <a href="../预定义接口/Traversable.html">
            
                    
                    Traversable
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.17.2" data-path="../预定义接口/Iterator.html">
            
                <a href="../预定义接口/Iterator.html">
            
                    
                    Iterator
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.17.3" data-path="../预定义接口/IteratorAggregate.html">
            
                <a href="../预定义接口/IteratorAggregate.html">
            
                    
                    IteratorAggregate
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.17.4" data-path="../预定义接口/ArrayAccess.html">
            
                <a href="../预定义接口/ArrayAccess.html">
            
                    
                    ArrayAccess
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.17.5" data-path="../预定义接口/Serializable.html">
            
                <a href="../预定义接口/Serializable.html">
            
                    
                    Serializable
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.17.6" data-path="../预定义接口/Closure.html">
            
                <a href="../预定义接口/Closure.html">
            
                    
                    Closure
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.17.7" data-path="../预定义接口/Generator.html">
            
                <a href="../预定义接口/Generator.html">
            
                    
                    Generator
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.18" data-path="../上下文选项和参数.html">
            
                <a href="../上下文选项和参数.html">
            
                    
                    上下文选项和参数
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.18.1" data-path="../上下文选项和参数/套接字上下文选项.html">
            
                <a href="../上下文选项和参数/套接字上下文选项.html">
            
                    
                    套接字上下文选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.18.2" data-path="../上下文选项和参数/HTTP 上下文选项.html">
            
                <a href="../上下文选项和参数/HTTP 上下文选项.html">
            
                    
                    HTTP 上下文选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.18.3" data-path="../上下文选项和参数/FTP 上下文选项.html">
            
                <a href="../上下文选项和参数/FTP 上下文选项.html">
            
                    
                    FTP 上下文选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.18.4" data-path="../上下文选项和参数/SSL 上下文选项.html">
            
                <a href="../上下文选项和参数/SSL 上下文选项.html">
            
                    
                    SSL 上下文选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.18.5" data-path="../上下文选项和参数/CURL 上下文选项.html">
            
                <a href="../上下文选项和参数/CURL 上下文选项.html">
            
                    
                    CURL 上下文选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.18.6" data-path="../上下文选项和参数/Phar 上下文选项.html">
            
                <a href="../上下文选项和参数/Phar 上下文选项.html">
            
                    
                    Phar 上下文选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.18.7" data-path="../上下文选项和参数/MongoDB 上下文选项.html">
            
                <a href="../上下文选项和参数/MongoDB 上下文选项.html">
            
                    
                    MongoDB 上下文选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.18.8" data-path="../上下文选项和参数/Context 参数.html">
            
                <a href="../上下文选项和参数/Context 参数.html">
            
                    
                    Context 参数
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.1.19" data-path="../支持的协议和封装协议.html">
            
                <a href="../支持的协议和封装协议.html">
            
                    
                    支持的协议和封装协议
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.1.19.1" data-path="../支持的协议和封装协议/file.html">
            
                <a href="../支持的协议和封装协议/file.html">
            
                    
                    file://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.2" data-path="../支持的协议和封装协议/http.html">
            
                <a href="../支持的协议和封装协议/http.html">
            
                    
                    http://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.3" data-path="../支持的协议和封装协议/ftp.html">
            
                <a href="../支持的协议和封装协议/ftp.html">
            
                    
                    ftp://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.4" data-path="../支持的协议和封装协议/php.html">
            
                <a href="../支持的协议和封装协议/php.html">
            
                    
                    php://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.5" data-path="../支持的协议和封装协议/zlib.html">
            
                <a href="../支持的协议和封装协议/zlib.html">
            
                    
                    zlib://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.6" data-path="../支持的协议和封装协议/data.html">
            
                <a href="../支持的协议和封装协议/data.html">
            
                    
                    data://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.7" data-path="../支持的协议和封装协议/global.html">
            
                <a href="../支持的协议和封装协议/global.html">
            
                    
                    global://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.8" data-path="../支持的协议和封装协议/phar.html">
            
                <a href="../支持的协议和封装协议/phar.html">
            
                    
                    phar://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.9" data-path="../支持的协议和封装协议/ssh2.html">
            
                <a href="../支持的协议和封装协议/ssh2.html">
            
                    
                    ssh2://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.10" data-path="../支持的协议和封装协议/rar.html">
            
                <a href="../支持的协议和封装协议/rar.html">
            
                    
                    rar://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.11" data-path="../支持的协议和封装协议/ogg.html">
            
                <a href="../支持的协议和封装协议/ogg.html">
            
                    
                    ogg://
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.1.19.12" data-path="../支持的协议和封装协议/expect.html">
            
                <a href="../支持的协议和封装协议/expect.html">
            
                    
                    expect://
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2" data-path="../../函数参考.html">
            
                <a href="../../函数参考.html">
            
                    
                    函数参考
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.1" data-path="../../函数参考/影响 PHP 行为的扩展.html">
            
                <a href="../../函数参考/影响 PHP 行为的扩展.html">
            
                    
                    影响 PHP 行为的扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.1.1" data-path="../../函数参考/影响 PHP 行为的扩展/错误处理和日志记录.html">
            
                <a href="../../函数参考/影响 PHP 行为的扩展/错误处理和日志记录.html">
            
                    
                    错误处理和日志记录
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.1.2" data-path="../../函数参考/影响 PHP 行为的扩展/输出缓冲控制.html">
            
                <a href="../../函数参考/影响 PHP 行为的扩展/输出缓冲控制.html">
            
                    
                    输出缓冲控制
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.1.3" data-path="../../函数参考/影响 PHP 行为的扩展/PHP 选项和信息.html">
            
                <a href="../../函数参考/影响 PHP 行为的扩展/PHP 选项和信息.html">
            
                    
                    PHP 选项和信息
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.2" data-path="../../函数参考/加密扩展.html">
            
                <a href="../../函数参考/加密扩展.html">
            
                    
                    加密扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.2.1" data-path="../../函数参考/加密扩展/Hash.html">
            
                <a href="../../函数参考/加密扩展/Hash.html">
            
                    
                    Hash
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.2.2" data-path="../../函数参考/加密扩展/OpenSSL.html">
            
                <a href="../../函数参考/加密扩展/OpenSSL.html">
            
                    
                    OpenSSL
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.2.3" data-path="../../函数参考/加密扩展/密码散列算法.html">
            
                <a href="../../函数参考/加密扩展/密码散列算法.html">
            
                    
                    密码散列算法
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.3" data-path="../../函数参考/数据库扩展.html">
            
                <a href="../../函数参考/数据库扩展.html">
            
                    
                    数据库扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.3.1" data-path="../../函数参考/数据库扩展/数据库抽象层.html">
            
                <a href="../../函数参考/数据库扩展/数据库抽象层.html">
            
                    
                    数据库抽象层
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.3.1.1" data-path="../../函数参考/数据库扩展/数据库抽象层/PDO.html">
            
                <a href="../../函数参考/数据库扩展/数据库抽象层/PDO.html">
            
                    
                    PDO
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.4" data-path="../../函数参考/日期与时间相关扩展.html">
            
                <a href="../../函数参考/日期与时间相关扩展.html">
            
                    
                    日期与时间相关扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.4.1" data-path="../../函数参考/日期与时间相关扩展/日期与时间.html">
            
                <a href="../../函数参考/日期与时间相关扩展/日期与时间.html">
            
                    
                    日期与时间
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.5" data-path="../../函数参考/文件系统相关扩展.html">
            
                <a href="../../函数参考/文件系统相关扩展.html">
            
                    
                    文件系统相关扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.5.1" data-path="../../函数参考/文件系统相关扩展/目录.html">
            
                <a href="../../函数参考/文件系统相关扩展/目录.html">
            
                    
                    目录
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.5.2" data-path="../../函数参考/文件系统相关扩展/文件系统.html">
            
                <a href="../../函数参考/文件系统相关扩展/文件系统.html">
            
                    
                    文件系统
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.6" data-path="../../函数参考/国际化与字符编码支持.html">
            
                <a href="../../函数参考/国际化与字符编码支持.html">
            
                    
                    国际化与字符编码支持
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.6.1" data-path="../../函数参考/国际化与字符编码支持/iconv.html">
            
                <a href="../../函数参考/国际化与字符编码支持/iconv.html">
            
                    
                    iconv
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.6.2" data-path="../../函数参考/国际化与字符编码支持/多字节字符串.html">
            
                <a href="../../函数参考/国际化与字符编码支持/多字节字符串.html">
            
                    
                    多字节字符串
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.7" data-path="../../函数参考/图像生成和处理.html">
            
                <a href="../../函数参考/图像生成和处理.html">
            
                    
                    图像生成和处理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.7.1" data-path="../../函数参考/图像生成和处理/GD.html">
            
                <a href="../../函数参考/图像生成和处理/GD.html">
            
                    
                    GD
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.8" data-path="../../函数参考/邮件相关扩展.html">
            
                <a href="../../函数参考/邮件相关扩展.html">
            
                    
                    邮件相关扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.8.1" data-path="../../函数参考/邮件相关扩展/邮件.html">
            
                <a href="../../函数参考/邮件相关扩展/邮件.html">
            
                    
                    邮件
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.9" data-path="../../函数参考/数学扩展.html">
            
                <a href="../../函数参考/数学扩展.html">
            
                    
                    数学扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.9.1" data-path="../../函数参考/数学扩展/任意精度数学.html">
            
                <a href="../../函数参考/数学扩展/任意精度数学.html">
            
                    
                    任意精度数学
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.9.2" data-path="../../函数参考/数学扩展/数学.html">
            
                <a href="../../函数参考/数学扩展/数学.html">
            
                    
                    数学
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.10" data-path="../../函数参考/进程控制扩展.html">
            
                <a href="../../函数参考/进程控制扩展.html">
            
                    
                    进程控制扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.10.1" data-path="../../函数参考/进程控制扩展/程序执行.html">
            
                <a href="../../函数参考/进程控制扩展/程序执行.html">
            
                    
                    程序执行
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.11" data-path="../../函数参考/其他基本扩展.html">
            
                <a href="../../函数参考/其他基本扩展.html">
            
                    
                    其他基本扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.11.1" data-path="../../函数参考/其他基本扩展/JSON.html">
            
                <a href="../../函数参考/其他基本扩展/JSON.html">
            
                    
                    JSON
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.11.2" data-path="../../函数参考/其他基本扩展/杂项.html">
            
                <a href="../../函数参考/其他基本扩展/杂项.html">
            
                    
                    杂项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.11.3" data-path="../../函数参考/其他基本扩展/PHP 标准库.html">
            
                <a href="../../函数参考/其他基本扩展/PHP 标准库.html">
            
                    
                    PHP 标准库
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.11.4" data-path="../../函数参考/其他基本扩展/Streams.html">
            
                <a href="../../函数参考/其他基本扩展/Streams.html">
            
                    
                    Streams
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.11.5" data-path="../../函数参考/其他基本扩展/Tokenizer.html">
            
                <a href="../../函数参考/其他基本扩展/Tokenizer.html">
            
                    
                    Tokenizer
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.11.6" data-path="../../函数参考/其他基本扩展/URL.html">
            
                <a href="../../函数参考/其他基本扩展/URL.html">
            
                    
                    URL
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.12" data-path="../../函数参考/其他服务.html">
            
                <a href="../../函数参考/其他服务.html">
            
                    
                    其他服务
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.12.1" data-path="../../函数参考/其他服务/cURL.html">
            
                <a href="../../函数参考/其他服务/cURL.html">
            
                    
                    cURL
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.12.2" data-path="../../函数参考/其他服务/网络.html">
            
                <a href="../../函数参考/其他服务/网络.html">
            
                    
                    网络
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.12.3" data-path="../../函数参考/其他服务/Sockets.html">
            
                <a href="../../函数参考/其他服务/Sockets.html">
            
                    
                    Sockets
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.13" data-path="../../函数参考/Session 扩展.html">
            
                <a href="../../函数参考/Session 扩展.html">
            
                    
                    Session 扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.13.1" data-path="../../函数参考/Session 扩展/Session.html">
            
                <a href="../../函数参考/Session 扩展/Session.html">
            
                    
                    Session
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.14" data-path="../../函数参考/文本处理.html">
            
                <a href="../../函数参考/文本处理.html">
            
                    
                    文本处理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.14.1" data-path="../../函数参考/文本处理/正则表达式.html">
            
                <a href="../../函数参考/文本处理/正则表达式.html">
            
                    
                    正则表达式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.14.2" data-path="../../函数参考/文本处理/字符串.html">
            
                <a href="../../函数参考/文本处理/字符串.html">
            
                    
                    字符串
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.15" data-path="../../函数参考/变量与类型相关扩展.html">
            
                <a href="../../函数参考/变量与类型相关扩展.html">
            
                    
                    变量与类型相关扩展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.15.1" data-path="../../函数参考/变量与类型相关扩展/数组.html">
            
                <a href="../../函数参考/变量与类型相关扩展/数组.html">
            
                    
                    数组
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.15.2" data-path="../../函数参考/变量与类型相关扩展/类与对象.html">
            
                <a href="../../函数参考/变量与类型相关扩展/类与对象.html">
            
                    
                    类与对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.15.3" data-path="../../函数参考/变量与类型相关扩展/字符类型检测.html">
            
                <a href="../../函数参考/变量与类型相关扩展/字符类型检测.html">
            
                    
                    字符类型检测
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.15.4" data-path="../../函数参考/变量与类型相关扩展/过滤器.html">
            
                <a href="../../函数参考/变量与类型相关扩展/过滤器.html">
            
                    
                    过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.15.5" data-path="../../函数参考/变量与类型相关扩展/函数处理.html">
            
                <a href="../../函数参考/变量与类型相关扩展/函数处理.html">
            
                    
                    函数处理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.15.6" data-path="../../函数参考/变量与类型相关扩展/反射.html">
            
                <a href="../../函数参考/变量与类型相关扩展/反射.html">
            
                    
                    反射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.15.7" data-path="../../函数参考/变量与类型相关扩展/变量.html">
            
                <a href="../../函数参考/变量与类型相关扩展/变量.html">
            
                    
                    变量
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.2.16" data-path="../../函数参考/XML 操作.html">
            
                <a href="../../函数参考/XML 操作.html">
            
                    
                    XML 操作
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.2.16.1" data-path="../../函数参考/XML 操作/SimpleXML.html">
            
                <a href="../../函数参考/XML 操作/SimpleXML.html">
            
                    
                    SimpleXML
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.2.16.2" data-path="../../函数参考/XML 操作/XML 解析器.html">
            
                <a href="../../函数参考/XML 操作/XML 解析器.html">
            
                    
                    XML 解析器
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.3" data-path="../../会话和安全.html">
            
                <a href="../../会话和安全.html">
            
                    
                    会话和安全
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.3.1" data-path="../../会话和安全/会话管理基础.html">
            
                <a href="../../会话和安全/会话管理基础.html">
            
                    
                    会话管理基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.3.2" data-path="../../会话和安全/和会话安全相关的配置项.html">
            
                <a href="../../会话和安全/和会话安全相关的配置项.html">
            
                    
                    和会话安全相关的配置项
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.4" data-path="../../PHP 的命令行模式.html">
            
                <a href="../../PHP 的命令行模式.html">
            
                    
                    PHP 的命令行模式
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.4.1" data-path="../../PHP 的命令行模式/内置的 Web 服务器.html">
            
                <a href="../../PHP 的命令行模式/内置的 Web 服务器.html">
            
                    
                    内置的 Web 服务器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.4.2" data-path="../../PHP 的命令行模式/和命令行模式相关的配置项.html">
            
                <a href="../../PHP 的命令行模式/和命令行模式相关的配置项.html">
            
                    
                    和命令行模式相关的配置项
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.1.5" data-path="../../垃圾回收机制.html">
            
                <a href="../../垃圾回收机制.html">
            
                    
                    垃圾回收机制
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.6" data-path="../../PHP 类型比较表.html">
            
                <a href="../../PHP 类型比较表.html">
            
                    
                    PHP 类型比较表
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.7" data-path="../../PSR.html">
            
                <a href="../../PSR.html">
            
                    
                    PSR
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.1.7.1" data-path="../../PSR/PSR-1 基础编码规范.html">
            
                <a href="../../PSR/PSR-1 基础编码规范.html">
            
                    
                    PSR-1 基础编码规范
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.7.2" data-path="../../PSR/PSR-4 自动加载规范.html">
            
                <a href="../../PSR/PSR-4 自动加载规范.html">
            
                    
                    PSR-4 自动加载规范
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.1.7.3" data-path="../../PSR/PSR-12 编码规范扩充.html">
            
                <a href="../../PSR/PSR-12 编码规范扩充.html">
            
                    
                    PSR-12 编码规范扩充
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            本书使用 GitBook 发布
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="../../.." >魔术方法</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="&#x9B54;&#x672F;&#x65B9;&#x6CD5;">&#x9B54;&#x672F;&#x65B9;&#x6CD5;</h1>
<p><code>__construct()</code> &#xFF0C; <code>__destruct()</code> &#xFF0C; <code>__call()</code> &#xFF0C; <code>__callStatic()</code> &#xFF0C; <code>__get()</code> &#xFF0C; <code>__set()</code> &#xFF0C; <code>__isset()</code> &#xFF0C; <code>__unset()</code> &#xFF0C; <code>__sleep()</code> &#xFF0C; <code>__wakeup()</code> &#xFF0C; <code>__toString()</code> &#xFF0C; <code>__invoke()</code> &#xFF0C; <code>__set_state()</code> &#xFF0C; <code>__clone()</code> &#x548C; <code>__debugInfo()</code> &#x7B49;&#x65B9;&#x6CD5;&#x5728; PHP &#x4E2D;&#x88AB;&#x79F0;&#x4E3A;&#x9B54;&#x672F;&#x65B9;&#x6CD5;&#x3002;</p>
<p>PHP &#x5141;&#x8BB8;&#x5F00;&#x53D1;&#x8005;&#x5728;&#x4E00;&#x4E2A;&#x7C7B;&#x4E2D;&#x5B9A;&#x4E49;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#x4F5C;&#x4E3A;&#x6784;&#x9020;&#x51FD;&#x6570;&#x3002;&#x5177;&#x6709;&#x6784;&#x9020;&#x51FD;&#x6570;&#x7684;&#x7C7B;&#x4F1A;&#x5728;&#x6BCF;&#x6B21;&#x521B;&#x5EFA;&#x65B0;&#x5BF9;&#x8C61;&#x65F6;&#x5148;&#x8C03;&#x7528;&#x6B64;&#x65B9;&#x6CD5;&#xFF0C;&#x6240;&#x4EE5;&#x975E;&#x5E38;&#x9002;&#x5408;&#x5728;&#x4F7F;&#x7528;&#x5BF9;&#x8C61;&#x4E4B;&#x524D;&#x505A;&#x4E00;&#x4E9B;&#x521D;&#x59CB;&#x5316;&#x5DE5;&#x4F5C;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Just a test property.
     *
     * @var string
     */</span>
    <span class="token keyword">public</span> string <span class="token variable">$property</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Initialize the value of the property.
     *
     * @param  void
     * @return void
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__construct</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
    <span class="token punctuation">{</span>
        <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) &quot;foo&quot;</span>
</code></pre>
<p>PHP &#x5F15;&#x5165;&#x4E86;&#x6790;&#x6784;&#x51FD;&#x6570;&#x7684;&#x6982;&#x5FF5;&#xFF0C;&#x6790;&#x6784;&#x51FD;&#x6570;&#x4F1A;&#x5728;&#x5230;&#x67D0;&#x4E2A;&#x5BF9;&#x8C61;&#x7684;&#x6240;&#x6709;&#x5F15;&#x7528;&#x90FD;&#x88AB;&#x5220;&#x9664;&#x6216;&#x8005;&#x5F53;&#x5BF9;&#x8C61;&#x88AB;&#x663E;&#x5F0F;&#x9500;&#x6BC1;&#x65F6;&#x6267;&#x884C;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Just a test destructor.
     *
     * @param  void
     * @return void
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__destruct</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
    <span class="token punctuation">{</span>
        <span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">unset</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// string(3) &quot;foo&quot;</span>
</code></pre>
<p>&#x5728;&#x5BF9;&#x8C61;&#x4E2D;&#x8C03;&#x7528;&#x4E00;&#x4E2A;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x65B9;&#x6CD5;&#x65F6;&#xFF0C; <code>__call()</code> &#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Return the specified string.
     *
     * @param  string $name
     * @param  array  $args
     * @return string
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__call</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">,</span> <span class="token keyword">array</span> <span class="token variable">$args</span><span class="token punctuation">)</span><span class="token punctuation">:</span> string
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token variable">$name</span> <span class="token punctuation">.</span> <span class="token single-quoted-string string">&apos;+&apos;</span> <span class="token punctuation">.</span> <span class="token function">implode</span><span class="token punctuation">(</span><span class="token single-quoted-string string">&apos;+&apos;</span><span class="token punctuation">,</span> <span class="token variable">$args</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token function">method</span><span class="token punctuation">(</span><span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">&apos;bar&apos;</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(14) &quot;method+foo+bar&quot;</span>
</code></pre>
<p>&#x5728;&#x9759;&#x6001;&#x4E0A;&#x4E0B;&#x6587;&#x4E2D;&#x8C03;&#x7528;&#x4E00;&#x4E2A;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x65B9;&#x6CD5;&#x65F6;&#xFF0C; <code>__callStatic()</code> &#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Return the specified string.
     *
     * @param  string $name
     * @param  array  $args
     * @return string
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token keyword">function</span> <span class="token function">__callStatic</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">,</span> <span class="token keyword">array</span> <span class="token variable">$args</span><span class="token punctuation">)</span><span class="token punctuation">:</span> string
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token variable">$name</span> <span class="token punctuation">.</span> <span class="token single-quoted-string string">&apos;+&apos;</span> <span class="token punctuation">.</span> <span class="token function">implode</span><span class="token punctuation">(</span><span class="token single-quoted-string string">&apos;+&apos;</span><span class="token punctuation">,</span> <span class="token variable">$args</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token function">var_dump</span><span class="token punctuation">(</span>Foo<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token function">method</span><span class="token punctuation">(</span><span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">&apos;bar&apos;</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(14) &quot;method+foo+bar&quot;</span>
</code></pre>
<p>&#x5728;&#x7ED9;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x5C5E;&#x6027;&#x8D4B;&#x503C;&#x65F6;&#xFF0C; <code>__set()</code> &#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Set the value of the specified property.
     *
     * @param  string $name
     * @param  string $value
     * @return void
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__set</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">,</span> string <span class="token variable">$value</span><span class="token punctuation">)</span>
    <span class="token punctuation">{</span>
        <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token variable">$name</span> <span class="token operator">=</span> <span class="token variable">$value</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) &quot;foo&quot;</span>
</code></pre>
<p>&#x8BFB;&#x53D6;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x5C5E;&#x6027;&#x7684;&#x503C;&#x65F6;&#xFF0C; <code>__get()</code> &#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Private property.
     *
     * @var string
     */</span>
    <span class="token keyword">private</span> string <span class="token variable">$property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Return the specified property.
     *
     * @param  string $name
     * @return string
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__get</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">)</span><span class="token punctuation">:</span> string
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token variable">$name</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) &quot;foo&quot;</span>
</code></pre>
<p>&#x5F53;&#x5BF9;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x5C5E;&#x6027;&#x8C03;&#x7528; <code>isset()</code> &#x6216; <code>empty()</code> &#x65F6;&#xFF0C; <code>__isset()</code> &#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Private property.
     *
     * @var string
     */</span>
    <span class="token keyword">private</span> string <span class="token variable">$property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Check the specified property.
     *
     * @param  string  $name
     * @return bool
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__isset</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">)</span><span class="token punctuation">:</span> bool
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token variable">$name</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(true)</span>
</code></pre>
<p>&#x5F53;&#x5BF9;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x5C5E;&#x6027;&#x8C03;&#x7528; <code>unset()</code> &#x65F6;&#xFF0C; <code>__unset()</code> &#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Private property.
     *
     * @var string
     */</span>
    <span class="token keyword">private</span> string <span class="token variable">$property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Check the specified property.
     *
     * @param  string  $name
     * @return bool
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__isset</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">)</span><span class="token punctuation">:</span> bool
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token variable">$name</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>

    <span class="token comment">/**
     * Unset the specified property.
     *
     * @param  string $name
     * @return void
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__unset</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">)</span>
    <span class="token punctuation">{</span>
        <span class="token keyword">unset</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token variable">$name</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(true)</span>
<span class="token keyword">unset</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(false)</span>
</code></pre>
<p><code>serialize()</code> &#x51FD;&#x6570;&#x4F1A;&#x68C0;&#x67E5;&#x7C7B;&#x4E2D;&#x662F;&#x5426;&#x5B58;&#x5728;&#x4E00;&#x4E2A;&#x9B54;&#x672F;&#x65B9;&#x6CD5; <code>__sleep()</code> &#x3002;&#x5982;&#x679C;&#x5B58;&#x5728;&#xFF0C;&#x8BE5;&#x65B9;&#x6CD5;&#x4F1A;&#x5148;&#x88AB;&#x8C03;&#x7528;&#xFF0C;&#x7136;&#x540E;&#x624D;&#x6267;&#x884C;&#x5E8F;&#x5217;&#x5316;&#x64CD;&#x4F5C;&#x3002;&#x6B64;&#x529F;&#x80FD;&#x53EF;&#x4EE5;&#x7528;&#x4E8E;&#x6E05;&#x7406;&#x5BF9;&#x8C61;&#xFF0C;&#x5E76;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x5305;&#x542B;&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x5E94;&#x88AB;&#x5E8F;&#x5217;&#x5316;&#x7684;&#x53D8;&#x91CF;&#x540D;&#x79F0;&#x7684;&#x6570;&#x7EC4;&#x3002;&#x5982;&#x679C;&#x8BE5;&#x65B9;&#x6CD5;&#x672A;&#x8FD4;&#x56DE;&#x4EFB;&#x4F55;&#x5185;&#x5BB9;&#xFF0C;&#x5219; <code>NULL</code> &#x88AB;&#x5E8F;&#x5217;&#x5316;&#xFF0C;&#x5E76;&#x4EA7;&#x751F;&#x4E00;&#x4E2A; <code>E_NOTICE</code> &#x7EA7;&#x522B;&#x7684;&#x9519;&#x8BEF;&#x3002; <code>__sleep()</code> &#x65B9;&#x6CD5;&#x5E38;&#x7528;&#x4E8E;&#x63D0;&#x4EA4;&#x672A;&#x63D0;&#x4EA4;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x6216;&#x7C7B;&#x4F3C;&#x7684;&#x6E05;&#x7406;&#x64CD;&#x4F5C;&#x3002;&#x540C;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x6709;&#x4E00;&#x4E9B;&#x5F88;&#x5927;&#x7684;&#x5BF9;&#x8C61;&#xFF0C;&#x4F46;&#x4E0D;&#x9700;&#x8981;&#x5168;&#x90E8;&#x4FDD;&#x5B58;&#xFF0C;&#x8FD9;&#x4E2A;&#x529F;&#x80FD;&#x5C31;&#x5F88;&#x597D;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Public property.
     *
     * @var string
     */</span>
    <span class="token keyword">public</span> string <span class="token variable">$public</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;public&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Protected property.
     *
     * @var string
     */</span>
    <span class="token keyword">protected</span> string <span class="token variable">$protected</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;protected&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Private property.
     *
     * @var string
     */</span>
    <span class="token keyword">private</span> string <span class="token variable">$private</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;private&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Return an array of the specified properties.
     *
     * @param  void
     * @return array
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__sleep</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">array</span>
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token punctuation">[</span><span class="token single-quoted-string string">&apos;public&apos;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token function">serialize</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(40) &quot;O:3:&quot;Foo&quot;:1:{s:6:&quot;public&quot;;s:6:&quot;public&quot;;}&quot;</span>
</code></pre>
<p>&#x4E0E;&#x4E4B;&#x76F8;&#x53CD;&#xFF0C; <code>unserialize()</code> &#x4F1A;&#x68C0;&#x67E5;&#x662F;&#x5426;&#x5B58;&#x5728;&#x4E00;&#x4E2A; <code>__wakeup()</code> &#x65B9;&#x6CD5;&#x3002;&#x5982;&#x679C;&#x5B58;&#x5728;&#xFF0C;&#x5219;&#x4F1A;&#x5148;&#x8C03;&#x7528; <code>__wakeup()</code> &#x65B9;&#x6CD5;&#xFF0C;&#x9884;&#x5148;&#x51C6;&#x5907;&#x5BF9;&#x8C61;&#x9700;&#x8981;&#x7684;&#x8D44;&#x6E90;&#x3002; <code>__wakeup()</code> &#x7ECF;&#x5E38;&#x7528;&#x5728;&#x53CD;&#x5E8F;&#x5217;&#x5316;&#x64CD;&#x4F5C;&#x4E2D;&#xFF0C;&#x4F8B;&#x5982;&#x91CD;&#x65B0;&#x5EFA;&#x7ACB;&#x6570;&#x636E;&#x5E93;&#x8FDE;&#x63A5;&#xFF0C;&#x6216;&#x6267;&#x884C;&#x5176;&#x5B83;&#x521D;&#x59CB;&#x5316;&#x64CD;&#x4F5C;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Public property.
     *
     * @var string
     */</span>
    <span class="token keyword">public</span> string <span class="token variable">$public</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;public&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Protected property.
     *
     * @var string
     */</span>
    <span class="token keyword">protected</span> string <span class="token variable">$protected</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;protected&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Private property.
     *
     * @var string
     */</span>
    <span class="token keyword">private</span> string <span class="token variable">$private</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;private&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Set the value of the specified property.
     *
     * @param  void
     * @return void
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__wakeup</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
    <span class="token punctuation">{</span>
        <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;O:3:&quot;Foo&quot;:1:{s:6:&quot;public&quot;;s:6:&quot;public&quot;;}&apos;</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token function">unserialize</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(Foo)#1 (4) { [&quot;public&quot;]=&gt; string(6) &quot;public&quot; [&quot;protected&quot;:protected]=&gt; string(9) &quot;protected&quot; [&quot;private&quot;:&quot;Foo&quot;:private]=&gt; string(7) &quot;private&quot; [&quot;property&quot;]=&gt; string(3) &quot;foo&quot; }</span>
</code></pre>
<p><code>__toString()</code> &#x65B9;&#x6CD5;&#x7528;&#x4E8E;&#x4E00;&#x4E2A;&#x7C7B;&#x88AB;&#x5F53;&#x6210;&#x5B57;&#x7B26;&#x4E32;&#x65F6;&#x5E94;&#x600E;&#x6837;&#x56DE;&#x5E94;&#x3002;&#x6B64;&#x65B9;&#x6CD5;&#x5FC5;&#x987B;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x5426;&#x5219;&#x5C06;&#x53D1;&#x51FA;&#x4E00;&#x6761; <code>E_RECOVERABLE_ERROR</code> &#x7EA7;&#x522B;&#x7684;&#x81F4;&#x547D;&#x9519;&#x8BEF;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Return a string.
     *
     * @param  void
     * @return string
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> string
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token variable">$foo</span> <span class="token punctuation">.</span> <span class="token double-quoted-string string">&quot;\r\n&quot;</span><span class="token punctuation">;</span>  <span class="token comment">// foo</span>
<span class="token keyword">print</span> <span class="token variable">$foo</span> <span class="token punctuation">.</span> <span class="token double-quoted-string string">&quot;\r\n&quot;</span><span class="token punctuation">;</span> <span class="token comment">// foo</span>
</code></pre>
<p>&#x5F53;&#x5C1D;&#x8BD5;&#x4EE5;&#x8C03;&#x7528;&#x51FD;&#x6570;&#x7684;&#x65B9;&#x5F0F;&#x8C03;&#x7528;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x65F6;&#xFF0C; <code>__invoke()</code> &#x65B9;&#x6CD5;&#x4F1A;&#x88AB;&#x81EA;&#x52A8;&#x8C03;&#x7528;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Return a string.
     *
     * @param  void
     * @return string
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__invoke</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> string
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) &quot;foo&quot;</span>
</code></pre>
<p>&#x5F53;&#x8C03;&#x7528; <code>var_export()</code> &#x51FD;&#x6570;&#x5BFC;&#x51FA;&#x7C7B;&#x7684;&#x76F8;&#x5173;&#x4FE1;&#x606F;&#x65F6;&#xFF0C; <code>__set_state()</code> &#x9759;&#x6001;&#x65B9;&#x6CD5;&#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;&#x6B64;&#x65B9;&#x6CD5;&#x7684;&#x552F;&#x4E00;&#x53C2;&#x6570;&#x662F;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#xFF0C;&#x5176;&#x4E2D;&#x5305;&#x542B;&#x6309;&#x6570;&#x7EC4;&#x952E;&#x503C;&#x5BF9;&#x683C;&#x5F0F;&#x6392;&#x5217;&#x7684;&#x7C7B;&#x5C5E;&#x6027;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Just a test property.
     *
     * @var string
     */</span>
    <span class="token keyword">public</span> string <span class="token variable">$property</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Return an initialized object.
     *
     * @param  array  $array
     * @return Foo
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token keyword">function</span> <span class="token function">__set_state</span><span class="token punctuation">(</span><span class="token keyword">array</span> <span class="token variable">$array</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Foo
    <span class="token punctuation">{</span>
        <span class="token variable">$object</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">self</span><span class="token punctuation">;</span>
        <span class="token variable">$object</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span> <span class="token operator">=</span> <span class="token variable">$array</span><span class="token punctuation">[</span><span class="token single-quoted-string string">&apos;property&apos;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
        <span class="token keyword">return</span> <span class="token variable">$object</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">;</span>
<span class="token function">var_export</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Foo::__set_state(array( &apos;property&apos; =&gt; &apos;foo&apos;, ))</span>

<span class="token variable">$bar</span> <span class="token operator">=</span> Foo<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token function">__set_state</span><span class="token punctuation">(</span><span class="token keyword">array</span><span class="token punctuation">(</span> <span class="token single-quoted-string string">&apos;property&apos;</span> <span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token single-quoted-string string">&apos;foo&apos;</span><span class="token punctuation">,</span> <span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span>   <span class="token comment">// object(Foo)#2 (1) { [&quot;property&quot;]=&gt; string(3) &quot;foo&quot; }</span>
</code></pre>
<p>&#x5BF9;&#x8C61;&#x590D;&#x5236;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <code>clone</code> &#x5173;&#x952E;&#x5B57;&#x6765;&#x5B8C;&#x6210;&#xFF08;&#x5982;&#x679C;&#x53EF;&#x80FD;&#xFF0C;&#x8FD9;&#x5C06;&#x8C03;&#x7528;&#x5BF9;&#x8C61;&#x7684; <code>__clone()</code> &#x65B9;&#x6CD5;&#xFF09;&#x3002;&#x5BF9;&#x8C61;&#x4E2D;&#x7684; <code>__clone()</code> &#x65B9;&#x6CD5;&#x4E0D;&#x80FD;&#x88AB;&#x76F4;&#x63A5;&#x8C03;&#x7528;&#x3002;&#x5F53;&#x5BF9;&#x8C61;&#x88AB;&#x590D;&#x5236;&#x540E;&#xFF0C; PHP &#x4F1A;&#x5BF9;&#x5BF9;&#x8C61;&#x7684;&#x6240;&#x6709;&#x5C5E;&#x6027;&#x6267;&#x884C;&#x4E00;&#x4E2A;&#x6D45;&#x590D;&#x5236;&#x3002;&#x6240;&#x6709;&#x7684;&#x5F15;&#x7528;&#x5C5E;&#x6027;&#x4ECD;&#x7136;&#x4F1A;&#x662F;&#x4E00;&#x4E2A;&#x6307;&#x5411;&#x539F;&#x6765;&#x7684;&#x53D8;&#x91CF;&#x7684;&#x5F15;&#x7528;&#x3002;&#x5F53;&#x590D;&#x5236;&#x5B8C;&#x6210;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x5B9A;&#x4E49;&#x4E86; <code>__clone()</code> &#x65B9;&#x6CD5;&#xFF0C;&#x5219;&#x65B0;&#x521B;&#x5EFA;&#x7684;&#x5BF9;&#x8C61;&#xFF08;&#x590D;&#x5236;&#x751F;&#x6210;&#x7684;&#x5BF9;&#x8C61;&#xFF09;&#x4E2D;&#x7684; <code>__clone()</code> &#x65B9;&#x6CD5;&#x4F1A;&#x88AB;&#x8C03;&#x7528;&#xFF0C;&#x53EF;&#x7528;&#x4E8E;&#x4FEE;&#x6539;&#x5C5E;&#x6027;&#x7684;&#x503C;&#xFF08;&#x5982;&#x679C;&#x6709;&#x5FC5;&#x8981;&#x7684;&#x8BDD;&#xFF09;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Cat</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * The name of cat.
     *
     * @var string
     */</span>
    <span class="token keyword">public</span> string <span class="token variable">$name</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * The age of cat.
     *
     * @var int
     */</span>
    <span class="token keyword">public</span> int <span class="token variable">$age</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Store the name and age.
     *
     * @param  string $name
     * @param  int    $age
     * @return void
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__construct</span><span class="token punctuation">(</span>string <span class="token variable">$name</span><span class="token punctuation">,</span> int <span class="token variable">$age</span><span class="token punctuation">)</span>
    <span class="token punctuation">{</span>
        <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">name</span> <span class="token operator">=</span> <span class="token variable">$name</span><span class="token punctuation">;</span>
        <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">age</span> <span class="token operator">=</span> <span class="token variable">$age</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token keyword">class</span> <span class="token class-name">Dog</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * The name of dog.
     *
     * @var string
     */</span>
    <span class="token keyword">public</span> string <span class="token variable">$name</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Store an instance of cat.
     *
     * @var Cat
     */</span>
    <span class="token keyword">public</span> Cat <span class="token variable">$cat</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Complete deep copy.
     *
     * @param  void
     * @return void
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__clone</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
    <span class="token punctuation">{</span>
        <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">cat</span> <span class="token operator">=</span> <span class="token keyword">clone</span> <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">cat</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$spike</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Dog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$spike</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">name</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;Spike&apos;</span><span class="token punctuation">;</span>
<span class="token variable">$spike</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">cat</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Cat</span><span class="token punctuation">(</span><span class="token single-quoted-string string">&apos;Tom&apos;</span><span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$tyke</span> <span class="token operator">=</span> <span class="token keyword">clone</span> <span class="token variable">$spike</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$spike</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(Dog)#1 (2) { [&quot;name&quot;]=&gt; string(5) &quot;Spike&quot; [&quot;cat&quot;]=&gt; object(Cat)#2 (2) { [&quot;name&quot;]=&gt; string(3) &quot;Tom&quot; [&quot;age&quot;]=&gt; int(6) } }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$tyke</span><span class="token punctuation">)</span><span class="token punctuation">;</span>  <span class="token comment">// object(Dog)#3 (2) { [&quot;name&quot;]=&gt; string(5) &quot;Spike&quot; [&quot;cat&quot;]=&gt; object(Cat)#4 (2) { [&quot;name&quot;]=&gt; string(3) &quot;Tom&quot; [&quot;age&quot;]=&gt; int(6) } }</span>

<span class="token variable">$tyke</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">name</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;Tyke&apos;</span><span class="token punctuation">;</span>
<span class="token variable">$tyke</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">cat</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token property">age</span> <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$spike</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(Dog)#1 (2) { [&quot;name&quot;]=&gt; string(5) &quot;Spike&quot; [&quot;cat&quot;]=&gt; object(Cat)#2 (2) { [&quot;name&quot;]=&gt; string(3) &quot;Tom&quot; [&quot;age&quot;]=&gt; int(6) } }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$tyke</span><span class="token punctuation">)</span><span class="token punctuation">;</span>  <span class="token comment">// object(Dog)#3 (2) { [&quot;name&quot;]=&gt; string(4) &quot;Tyke&quot; [&quot;cat&quot;]=&gt; object(Cat)#4 (2) { [&quot;name&quot;]=&gt; string(3) &quot;Tom&quot; [&quot;age&quot;]=&gt; int(2) } }</span>
</code></pre>
<p>&#x5F53;&#x8C03;&#x7528; <code>var_dump()</code> &#x51FD;&#x6570;&#x6253;&#x5370;&#x7C7B;&#x7684;&#x76F8;&#x5173;&#x4FE1;&#x606F;&#x65F6;&#xFF0C; <code>__debugInfo</code> &#x65B9;&#x6CD5;&#x4F1A;&#x88AB;&#x8C03;&#x7528;&#x3002;&#x5982;&#x679C;&#x672A;&#x5728;&#x5BF9;&#x8C61;&#x4E0A;&#x5B9A;&#x4E49;&#x8BE5;&#x65B9;&#x6CD5;&#xFF0C;&#x5219;&#x5C06;&#x663E;&#x793A;&#x6240;&#x6709;&#x516C;&#x5171;&#x5C5E;&#x6027;&#xFF0C;&#x53D7;&#x4FDD;&#x62A4;&#x5C5E;&#x6027;&#x548C;&#x79C1;&#x6709;&#x5C5E;&#x6027;&#x3002;</p>
<pre class="language-"><code class="lang-php"><span class="token delimiter important">&lt;?php</span>

<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
    <span class="token comment">/**
     * Public property.
     *
     * @var string
     */</span>
    <span class="token keyword">public</span> string <span class="token variable">$public</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;public&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Protected property.
     *
     * @var string
     */</span>
    <span class="token keyword">protected</span> string <span class="token variable">$protected</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;protected&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Private property.
     *
     * @var string
     */</span>
    <span class="token keyword">private</span> string <span class="token variable">$private</span> <span class="token operator">=</span> <span class="token single-quoted-string string">&apos;private&apos;</span><span class="token punctuation">;</span>

    <span class="token comment">/**
     * Return all visibility properties.
     *
     * @param  void
     * @return array
     */</span>
    <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">__debugInfo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">array</span>
    <span class="token punctuation">{</span>
        <span class="token keyword">return</span> <span class="token punctuation">[</span>
            <span class="token single-quoted-string string">&apos;public&apos;</span>    <span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token keyword">public</span><span class="token punctuation">,</span>
            <span class="token single-quoted-string string">&apos;protected&apos;</span> <span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token keyword">protected</span><span class="token punctuation">,</span>
            <span class="token single-quoted-string string">&apos;private&apos;</span>   <span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">&gt;</span><span class="token keyword">private</span>
        <span class="token punctuation">]</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(Foo)#1 (3) { [&quot;public&quot;]=&gt; string(6) &quot;public&quot; [&quot;protected&quot;]=&gt; string(9) &quot;protected&quot; [&quot;private&quot;]=&gt; string(7) &quot;private&quot; }</span>
</code></pre>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="遍历对象.html" class="navigation navigation-prev " aria-label="Previous page: 遍历对象">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="Final 关键字.html" class="navigation navigation-next " aria-label="Next page: Final 关键字">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"魔术方法","level":"1.1.1.9.16","depth":4,"next":{"title":"Final 关键字","level":"1.1.1.9.17","depth":4,"path":"docs/语言参考/类与对象/Final 关键字.md","ref":"docs/语言参考/类与对象/Final 关键字.md","articles":[]},"previous":{"title":"遍历对象","level":"1.1.1.9.15","depth":4,"path":"docs/语言参考/类与对象/遍历对象.md","ref":"docs/语言参考/类与对象/遍历对象.md","articles":[]},"dir":"ltr"},"config":{"plugins":["back-to-top-button","chapter-fold","favicon","hide-element","lightbox","-highlight","prism","-lunr","-search","search-pro","splitter","livereload"],"root":"","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"chapter-fold":{},"prism":{"css":["prismjs/themes/prism-okaidia.css"]},"livereload":{},"splitter":{},"search-pro":{},"hide-element":{"elements":[".gitbook-link"]},"fontsettings":{"theme":"white","family":"sans","size":2},"favicon":{"shortcut":"favicon.ico","bookmark":"favicon.ico","appleTouch":"favicon.png","appleTouchMore":{"120x120":"favicon-120x120.png","180x180":"favicon-180x180.png"}},"lightbox":{"jquery":true,"sameUuid":false},"back-to-top-button":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"Kuriv Vesti","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"isbn":"","variables":{},"title":"PHP","language":"zh-hans","gitbook":">=3.0.0","description":"PHP 手册","direction":"ltr"},"file":{"path":"docs/语言参考/类与对象/魔术方法.md","mtime":"2020-05-02T07:36:02.353Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-07-13T03:43:41.544Z"},"basePath":"../../..","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="../../../gitbook/gitbook.js"></script>
    <script src="../../../gitbook/theme.js"></script>
    
        
        <script src="../../../gitbook/gitbook-plugin-back-to-top-button/plugin.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-chapter-fold/chapter-fold.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-hide-element/plugin.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-lightbox/js/lightbox.min.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-search-pro/jquery.mark.min.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-search-pro/search.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-splitter/splitter.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-livereload/plugin.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="../../../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>