manual-php
Version:
7,551 lines • 533 kB
HTML
<!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="变量.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 " 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 active" 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="反射">反射</h1>
<ul>
<li><a href="#reflection">Reflection</a><ul>
<li><a href="#reflectiongetmodifiernames">Reflection::getModifierNames - 获取修饰符的名称</a></li>
</ul>
</li>
<li><a href="#reflectionclass">ReflectionClass</a><ul>
<li><a href="#reflectionclassconstruct">ReflectionClass::__construct - 初始化 ReflectionClass 类</a></li>
<li><a href="#reflectionclassgetconstant">ReflectionClass::getConstant - 获取类的指定常量</a></li>
<li><a href="#reflectionclassgetconstants">ReflectionClass::getConstants - 获取类的所有常量</a></li>
<li><a href="#reflectionclassgetconstructor">ReflectionClass::getConstructor - 获取类的构造函数</a></li>
<li><a href="#reflectionclassgetdefaultproperties">ReflectionClass::getDefaultProperties - 获取类的默认属性</a></li>
<li><a href="#reflectionclassgetdoccomment">ReflectionClass::getDocComment - 获取类的文档注释</a></li>
<li><a href="#reflectionclassgetendline">ReflectionClass::getEndLine - 获取类的最后一行的行数</a></li>
<li><a href="#reflectionclassgetextension">ReflectionClass::getExtension - 根据已定义的类获取所在扩展的 ReflectionExtension 对象</a></li>
<li><a href="#reflectionclassgetextensionname">ReflectionClass::getExtensionName - 获取定义的类所在的扩展的名称</a></li>
<li><a href="#reflectionclassgetfilename">ReflectionClass::getFileName - 获取定义类的文件名</a></li>
<li><a href="#reflectionclassgetinterfacenames">ReflectionClass::getInterfaceNames - 获取类的接口名称</a></li>
<li><a href="#reflectionclassgetinterfaces">ReflectionClass::getInterfaces - 获取类的接口</a></li>
<li><a href="#reflectionclassgetmethod">ReflectionClass::getMethod - 获取类的指定方法</a></li>
<li><a href="#reflectionclassgetmethods">ReflectionClass::getMethods - 获取类的方法的数组</a></li>
<li><a href="#reflectionclassgetmodifiers">ReflectionClass::getModifiers - 获取类的修饰符</a></li>
<li><a href="#reflectionclassgetname">ReflectionClass::getName - 获取类名</a></li>
<li><a href="#reflectionclassgetnamespacename">ReflectionClass::getNamespaceName - 获取类的命名空间的名称</a></li>
<li><a href="#reflectionclassgetparentclass">ReflectionClass::getParentClass - 获取父类</a></li>
<li><a href="#reflectionclassgetproperties">ReflectionClass::getProperties - 获取类的一组属性</a></li>
<li><a href="#reflectionclassgetproperty">ReflectionClass::getProperty - 获取类的指定属性</a></li>
<li><a href="#reflectionclassgetreflectionconstant">ReflectionClass::getReflectionConstant - 获取类的指定常量</a></li>
<li><a href="#reflectionclassgetreflectionconstants">ReflectionClass::getReflectionConstants - 获取类的所有常量</a></li>
<li><a href="#reflectionclassgetshortname">ReflectionClass::getShortName - 获取类的短名</a></li>
<li><a href="#reflectionclassgetstartline">ReflectionClass::getStartLine - 获取类的起始行号</a></li>
<li><a href="#reflectionclassgetstaticproperties">ReflectionClass::getStaticProperties - 获取类的静态属性</a></li>
<li><a href="#reflectionclassgetstaticpropertyvalue">ReflectionClass::getStaticPropertyValue - 获取类的指定静态属性的值</a></li>
<li><a href="#reflectionclassgettraitaliases">ReflectionClass::getTraitAliases - 返回 Trait 别名的一个数组</a></li>
<li><a href="#reflectionclassgettraitnames">ReflectionClass::getTraitNames - 返回类所使用的 Trait 的名称的数组</a></li>
<li><a href="#reflectionclassgettraits">ReflectionClass::getTraits - 返回类所使用的 Trait 的数组</a></li>
<li><a href="#reflectionclasshasconstant">ReflectionClass::hasConstant - 检查类的指定的常量是否已经定义</a></li>
<li><a href="#reflectionclasshasmethod">ReflectionClass::hasMethod - 检查类的指定的方法是否已定义</a></li>
<li><a href="#reflectionclasshasproperty">ReflectionClass::hasProperty - 检查类的指定的属性是否已定义</a></li>
<li><a href="#reflectionclassimplementsinterface">ReflectionClass::implementsInterface - 检查类是否实现了指定的接口</a></li>
<li><a href="#reflectionclassinnamespace">ReflectionClass::inNamespace - 检查类是否位于命名空间中</a></li>
<li><a href="#reflectionclassisabstract">ReflectionClass::isAbstract - 检查类是否是抽象类</a></li>
<li><a href="#reflectionclassisanonymous">ReflectionClass::isAnonymous - 检查类是否是匿名类</a></li>
<li><a href="#reflectionclassiscloneable">ReflectionClass::isCloneable - 检查类是否可复制</a></li>
<li><a href="#reflectionclassisfinal">ReflectionClass::isFinal - 检查类是否声明为 final</a></li>
<li><a href="#reflectionclassisinstance">ReflectionClass::isInstance - 检查是否是指定类的实例</a></li>
<li><a href="#reflectionclassisinstantiable">ReflectionClass::isInstantiable - 检查类是否可实例化</a></li>
<li><a href="#reflectionclassisinterface">ReflectionClass::isInterface - 检查类是否是接口</a></li>
<li><a href="#reflectionclassisinternal">ReflectionClass::isInternal - 检查类是否由扩展或核心在内部定义</a></li>
<li><a href="#reflectionclassisiterable">ReflectionClass::isIterable - 检查类是否可迭代</a></li>
<li><a href="#reflectionclassisiterateable">ReflectionClass::isIterateable - 检查类是否可迭代</a></li>
<li><a href="#reflectionclassissubclassof">ReflectionClass::isSubclassOf - 检查类是否为指定类的子类</a></li>
<li><a href="#reflectionclassistrait">ReflectionClass::isTrait - 检查类是否是 Trait</a></li>
<li><a href="#reflectionclassisuserdefined">ReflectionClass::isUserDefined - 检查类是否是由用户定义的</a></li>
<li><a href="#reflectionclassnewinstance">ReflectionClass::newInstance - 从指定的参数创建一个新的类实例</a></li>
<li><a href="#reflectionclassnewinstanceargs">ReflectionClass::newInstanceArgs - 从指定的参数创建一个新的类实例</a></li>
<li><a href="#reflectionclassnewinstancewithoutconstructor">ReflectionClass::newInstanceWithoutConstructor - 创建一个新的类实例而不调用它的构造函数</a></li>
<li><a href="#reflectionclasssetstaticpropertyvalue">ReflectionClass::setStaticPropertyValue - 设置类的静态属性的值</a></li>
<li><a href="#reflectionclasstostring">ReflectionClass::__toString - 返回 ReflectionClass 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#reflectionclassconstant">ReflectionClassConstant</a><ul>
<li><a href="#reflectionclassconstantconstruct">ReflectionClassConstant::__construct - 初始化 ReflectionClassConstant 类</a></li>
<li><a href="#reflectionclassconstantgetdeclaringclass">ReflectionClassConstant::getDeclaringClass - 获取指定的类常量声明所在的类</a></li>
<li><a href="#reflectionclassconstantgetdoccomment">ReflectionClassConstant::getDocComment - 获取指定的类常量的文档注释</a></li>
<li><a href="#reflectionclassconstantgetmodifiers">ReflectionClassConstant::getModifiers - 获取指定的类常量的修饰符</a></li>
<li><a href="#reflectionclassconstantgetname">ReflectionClassConstant::getName - 获取指定的类常量名</a></li>
<li><a href="#reflectionclassconstantgetvalue">ReflectionClassConstant::getValue - 获取指定的类常量的值</a></li>
<li><a href="#reflectionclassconstantisprivate">ReflectionClassConstant::isPrivate - 检查指定的类常量是否声明为 private</a></li>
<li><a href="#reflectionclassconstantisprotected">ReflectionClassConstant::isProtected - 检查指定的类常量是否声明为 protected</a></li>
<li><a href="#reflectionclassconstantispublic">ReflectionClassConstant::isPublic - 检查指定的类常量是否声明为 public</a></li>
<li><a href="#reflectionclassconstanttostring">ReflectionClassConstant::__toString - 返回 ReflectionClassConstant 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#reflectionzendextension">ReflectionZendExtension</a><ul>
<li><a href="#reflectionzendextensionconstruct">ReflectionZendExtension::__construct - 初始化 ReflectionZendExtension 类</a></li>
<li><a href="#reflectionzendextensiongetauthor">ReflectionZendExtension::getAuthor - 获取 Zend 扩展的作者</a></li>
<li><a href="#reflectionzendextensiongetcopyright">ReflectionZendExtension::getCopyright - 获取 Zend 扩展的版权信息</a></li>
<li><a href="#reflectionzendextensiongetname">ReflectionZendExtension::getName - 获取 Zend 扩展的名称</a></li>
<li><a href="#reflectionzendextensiongeturl">ReflectionZendExtension::getURL - 获取 Zend 扩展的 URL</a></li>
<li><a href="#reflectionzendextensiongetversion">ReflectionZendExtension::getVersion - 获取 Zend 扩展的版本</a></li>
<li><a href="#reflectionzendextensiontostring">ReflectionZendExtension::__toString - 返回 ReflectionZendExtension 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#reflectionextension">ReflectionExtension</a><ul>
<li><a href="#reflectionextensionconstruct">ReflectionExtension::__construct - 初始化 ReflectionExtension 类</a></li>
<li><a href="#reflectionextensiongetclasses">ReflectionExtension::getClasses - 获取扩展中的类列表</a></li>
<li><a href="#reflectionextensiongetclassnames">ReflectionExtension::getClassNames - 获取扩展中的类名称列表</a></li>
<li><a href="#reflectionextensiongetconstants">ReflectionExtension::getConstants - 获取扩展中的类常量</a></li>
<li><a href="#reflectionextensiongetdependencies">ReflectionExtension::getDependencies - 获取扩展中的依赖</a></li>
<li><a href="#reflectionextensiongetfunctions">ReflectionExtension::getFunctions - 获取扩展中的函数</a></li>
<li><a href="#reflectionextensiongetinientries">ReflectionExtension::getINIEntries - 获取扩展在 ini 文件中的配置</a></li>
<li><a href="#reflectionextensiongetname">ReflectionExtension::getName - 获取扩展的名称</a></li>
<li><a href="#reflectionextensiongetversion">ReflectionExtension::getVersion - 获取扩展的版本号</a></li>
<li><a href="#reflectionextensioninfo">ReflectionExtension::info - 输出扩展的信息</a></li>
<li><a href="#reflectionextensionispersistent">ReflectionExtension::isPersistent - 返回扩展是否持久化载入</a></li>
<li><a href="#reflectionextensionistemporary">ReflectionExtension::isTemporary - 返回扩展是否是临时载入</a></li>
<li><a href="#reflectionextensiontostring">ReflectionExtension::__toString - 返回 ReflectionExtension 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#reflectionfunction">ReflectionFunction</a><ul>
<li><a href="#reflectionfunctionconstruct">ReflectionFunction::__construct - 初始化 ReflectionFunction 类</a></li>
<li><a href="#reflectionfunctiongetclosure">ReflectionFunction::getClosure - 返回指定的函数的动态创建的闭包</a></li>
<li><a href="#reflectionfunctioninvoke">ReflectionFunction::invoke - 调用指定的函数</a></li>
<li><a href="#reflectionfunctioninvokeargs">ReflectionFunction::invokeArgs - 调用指定的函数并将其参数作为数组传递</a></li>
<li><a href="#reflectionfunctionisdisabled">ReflectionFunction::isDisabled - 检查指定的函数是否被禁用</a></li>
<li><a href="#reflectionfunctiontostring">ReflectionFunction::__toString - 返回 ReflectionFunction 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#reflectionfunctionabstract">ReflectionFunctionAbstract</a><ul>
<li><a href="#reflectionfunctionabstractgetclosurescopeclass">ReflectionFunctionAbstract::getClosureScopeClass - 返回指定的函数的与闭包关联的范围</a></li>
<li><a href="#reflectionfunctionabstractgetclosurethis">ReflectionFunctionAbstract::getClosureThis - 返回指定的函数的的匿名函数</a></li>
<li><a href="#reflectionfunctionabstractgetdoccomment">ReflectionFunctionAbstract::getDocComment - 获取指定的函数的文档注释</a></li>
<li><a href="#reflectionfunctionabstractgetendline">ReflectionFunctionAbstract::getEndLine - 获取指定的函数的结束行号</a></li>
<li><a href="#reflectionfunctionabstractgetextension">ReflectionFunctionAbstract::getExtension - 获取指定的函数的扩展信息</a></li>
<li><a href="#reflectionfunctionabstractgetextensionname">ReflectionFunctionAbstract::getExtensionName - 获取指定的函数的扩展名称</a></li>
<li><a href="#reflectionfunctionabstractgetfilename">ReflectionFunctionAbstract::getFileName - 获取指定的函数所在的文件名称</a></li>
<li><a href="#reflectionfunctionabstractgetname">ReflectionFunctionAbstract::getName - 获取指定的函数的名称</a></li>
<li><a href="#reflectionfunctionabstractgetnamespacename">ReflectionFunctionAbstract::getNamespaceName - 获取指定的函数的命名空间</a></li>
<li><a href="#reflectionfunctionabstractgetnumberofparameters">ReflectionFunctionAbstract::getNumberOfParameters - 获取指定的函数的参数数目</a></li>
<li><a href="#reflectionfunctionabstractgetnumberofrequiredparameters">ReflectionFunctionAbstract::getNumberOfRequiredParameters - 获取指定的函数的必须输入参数的个数</a></li>
<li><a href="#reflectionfunctionabstractgetparameters">ReflectionFunctionAbstract::getParameters - 获取指定的函数的参数</a></li>
<li><a href="#reflectionfunctionabstractgetreturntype">ReflectionFunctionAbstract::getReturnType - 获取指定的函数的返回类型</a></li>
<li><a href="#reflectionfunctionabstractgetshortname">ReflectionFunctionAbstract::getShortName - 获取指定的函数的短名称</a></li>
<li><a href="#reflectionfunctionabstractgetstartline">ReflectionFunctionAbstract::getStartLine - 获取指定的函数的开始行号</a></li>
<li><a href="#reflectionfunctionabstractgetstaticvariables">ReflectionFunctionAbstract::getStaticVariables - 获取指定的函数的静态变量</a></li>
<li><a href="#reflectionfunctionabstracthasreturntype">ReflectionFunctionAbstract::hasReturnType - 检查指定的函数是否声明返回类型</a></li>
<li><a href="#reflectionfunctionabstractinnamespace">ReflectionFunctionAbstract::inNamespace - 检查指定的函数是否处于命名空间</a></li>
<li><a href="#reflectionfunctionabstractisclosure">ReflectionFunctionAbstract::isClosure - 检查指定的函数是否是匿名函数</a></li>
<li><a href="#reflectionfunctionabstractisdeprecated">ReflectionFunctionAbstract::isDeprecated - 检查指定的函数是否已经弃用</a></li>
<li><a href="#reflectionfunctionabstractisgenerator">ReflectionFunctionAbstract::isGenerator - 检查指定的函数是否是生成器</a></li>
<li><a href="#reflectionfunctionabstractisinternal">ReflectionFunctionAbstract::isInternal - 检查指定的函数是否是内置函数</a></li>
<li><a href="#reflectionfunctionabstractisuserdefined">ReflectionFunctionAbstract::isUserDefined - 检查指定的函数是否是用户自定义</a></li>
<li><a href="#reflectionfunctionabstractisvariadic">ReflectionFunctionAbstract::isVariadic - 检查指定的函数是否是可变函数</a></li>
<li><a href="#reflectionfunctionabstractreturnsreference">ReflectionFunctionAbstract::returnsReference - 检查指定的函数是否返回引用</a></li>
</ul>
</li>
<li><a href="#reflectionmethod">ReflectionMethod</a><ul>
<li><a href="#reflectionmethodconstruct">ReflectionMethod::__construct - 初始化 ReflectionMethod 类</a></li>
<li><a href="#reflectionmethodgetclosure">ReflectionMethod::getClosure - 返回一个动态建立的方法调用接口,可以直接调用非公开方法</a></li>
<li><a href="#reflectionmethodgetdeclaringclass">ReflectionMethod::getDeclaringClass - 获取指定的类方法声明所在的类</a></li>
<li><a href="#reflectionmethodgetmodifiers">ReflectionMethod::getModifiers - 获取指定的类方法的修饰符</a></li>
<li><a href="#reflectionmethodgetprototype">ReflectionMethod::getPrototype - 返回指定的类方法的原型</a></li>
<li><a href="#reflectionmethodinvoke">ReflectionMethod::invoke - 调用指定的类方法</a></li>
<li><a href="#reflectionmethodinvokeargs">ReflectionMethod::invokeArgs - 调用指定的类方法</a></li>
<li><a href="#reflectionmethodisabstract">ReflectionMethod::isAbstract - 判断指定的类方法是否是抽象方法</a></li>
<li><a href="#reflectionmethodisconstructor">ReflectionMethod::isConstructor - 判断指定的类方法是否是构造方法</a></li>
<li><a href="#reflectionmethodisdestructor">ReflectionMethod::isDestructor - 判断指定的类方法是否是析构方法</a></li>
<li><a href="#reflectionmethodisfinal">ReflectionMethod::isFinal - 判断指定的类方法是否声明为 final</a></li>
<li><a href="#reflectionmethodisprivate">ReflectionMethod::isPrivate - 判断指定的类方法是否声明为 private</a></li>
<li><a href="#reflectionmethodisprotected">ReflectionMethod::isProtected - 判断指定的类方法是否声明为 protected</a></li>
<li><a href="#reflectionmethodispublic">ReflectionMethod::isPublic - 判断指定的类方法是否声明为 public</a></li>
<li><a href="#reflectionmethodisstatic">ReflectionMethod::isStatic - 判断指定的类方法是否声明为 static</a></li>
<li><a href="#reflectionmethodsetaccessible">ReflectionMethod::setAccessible - 设置指定的类方法是否可以访问</a></li>
<li><a href="#reflectionmethodtostring">ReflectionMethod::__toString - 返回 ReflectionMethod 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#reflectionobject">ReflectionObject</a><ul>
<li><a href="#reflectionobjectconstruct">ReflectionObject::__construct - 初始化 ReflectionObject 类</a></li>
</ul>
</li>
<li><a href="#reflectionparameter">ReflectionParameter</a><ul>
<li><a href="#reflectionparameterconstruct">ReflectionParameter::__construct - 初始化 ReflectionParameter 类</a></li>
<li><a href="#reflectionparameterallowsnull">ReflectionParameter::allowsNull - 检查指定的参数是否允许为空</a></li>
<li><a href="#reflectionparametercanbepassedbyvalue">ReflectionParameter::canBePassedByValue - 返回指定的参数是否可以按值传递</a></li>
<li><a href="#reflectionparametergetclass">ReflectionParameter::getClass - 获得指定的参数的类型提示的类</a></li>
<li><a href="#reflectionparametergetdeclaringclass">ReflectionParameter::getDeclaringClass - 返回指定的参数声明所在的类</a></li>
<li><a href="#reflectionparametergetdeclaringfunction">ReflectionParameter::getDeclaringFunction - 返回指定的参数声明所在的函数</a></li>
<li><a href="#reflectionparametergetdefaultvalue">ReflectionParameter::getDefaultValue - 返回指定的参数的默认值</a></li>
<li><a href="#reflectionparametergetdefaultvalueconstantname">ReflectionParameter::getDefaultValueConstantName - 返回指定的参数的默认值的常量名称</a></li>
<li><a href="#reflectionparametergetname">ReflectionParameter::getName - 获取指定的参数的名称</a></li>
<li><a href="#reflectionparametergetposition">ReflectionParameter::getPosition - 获取指定的参数的位置</a></li>
<li><a href="#reflectionparametergettype">ReflectionParameter::getType - 获取指定的参数的类型</a></li>
<li><a href="#reflectionparameterhastype">ReflectionParameter::hasType - 检查指定的参数是否存在类型声明</a></li>
<li><a href="#reflectionparameterisarray">ReflectionParameter::isArray - 检查指定的参数是否是数组</a></li>
<li><a href="#reflectionparameteriscallable">ReflectionParameter::isCallable - 检查指定的参数是否是可调用型</a></li>
<li><a href="#reflectionparameterisdefaultvalueavailable">ReflectionParameter::isDefaultValueAvailable - 检查指定的参数是否有默认值</a></li>
<li><a href="#reflectionparameterisdefaultvalueconstant">ReflectionParameter::isDefaultValueConstant - 检查指定的参数的默认是是否是常量</a></li>
<li><a href="#reflectionparameterisoptional">ReflectionParameter::isOptional - 检查指定的参数是否是可选的</a></li>
<li><a href="#reflectionparameterispassedbyreference">ReflectionParameter::isPassedByReference - 返回指定的参数是否可以按引用传递</a></li>
<li><a href="#reflectionparameterisvariadic">ReflectionParameter::isVariadic - 返回指定的参数是否是可变参数</a></li>
<li><a href="#reflectionparametertostring">ReflectionParameter::__toString - 返回 ReflectionParameter 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#reflectionproperty">ReflectionProperty</a><ul>
<li><a href="#reflectionpropertyconstruct">ReflectionProperty::__construct - 初始化 ReflectionProperty 类</a></li>
<li><a href="#reflectionpropertygetdeclaringclass">ReflectionProperty::getDeclaringClass - 获取指定的类属性声明所在的类</a></li>
<li><a href="#reflectionpropertygetdoccomment">ReflectionProperty::getDocComment - 获取指定类属性的文档注释</a></li>
<li><a href="#reflectionpropertygetmodifiers">ReflectionProperty::getModifiers - 获取指定类属性的修饰符</a></li>
<li><a href="#reflectionpropertygetname">ReflectionProperty::getName - 获取指定类属性的名称</a></li>
<li><a href="#reflectionpropertygettype">ReflectionProperty::getType - 获取指定类属性的类型</a></li>
<li><a href="#reflectionpropertygetvalue">ReflectionProperty::getValue - 获取指定类属性的值</a></li>
<li><a href="#reflectionpropertyhastype">ReflectionProperty::hasType - 检查指定的类属性是否存在类型声明</a></li>
<li><a href="#reflectionpropertyisdefault">ReflectionProperty::isDefault - 检查指定的类属性是否是默认属性</a></li>
<li><a href="#reflectionpropertyisinitialized">ReflectionProperty::isInitialized - 检查指定的类属性是否已初始化</a></li>
<li><a href="#reflectionpropertyisprivate">ReflectionProperty::isPrivate - 检查指定的类属性是否声明为 private</a></li>
<li><a href="#reflectionpropertyisprotected">ReflectionProperty::isProtected - 检查指定的类属性是否声明为 protected</a></li>
<li><a href="#reflectionpropertyispublic">ReflectionProperty::isPublic - 检查指定的类属性是否声明为 public</a></li>
<li><a href="#reflectionpropertyisstatic">ReflectionProperty::isStatic - 检查指定的类属性是否声明为 static</a></li>
<li><a href="#reflectionpropertysetaccessible">ReflectionProperty::setAccessible - 设置指定的类属性是否可以访问</a></li>
<li><a href="#reflectionpropertysetvalue">ReflectionProperty::setValue - 设置指定的类属性的值</a></li>
<li><a href="#reflectionpropertytostring">ReflectionProperty::__toString - 返回 ReflectionProperty 对象字符串的表示形式</a></li>
</ul>
</li>
<li><a href="#ReflectionType">ReflectionType</a><ul>
<li><a href="#reflectiontypeallowsnull">ReflectionType::allowsNull - 检查指定的类型是否允许为空</a></li>
<li><a href="#reflectiontypeisbuiltin">ReflectionType::isBuiltin - 检查指定的类型是否是内置类型</a></li>
</ul>
</li>
<li><a href="#reflectiongenerator">ReflectionGenerator</a><ul>
<li><a href="#reflectiongeneratorconstruct">ReflectionGenerator::__construct - 初始化 ReflectionGenerator 类</a></li>
<li><a href="#reflectiongeneratorgetexecutingfile">ReflectionGenerator::getExecutingFile - 获取指定的生成器所在的文件名</a></li>
<li><a href="#reflectiongeneratorgetexecutinggenerator">ReflectionGenerator::getExecutingGenerator - 获取指定的生成器对象</a></li>
<li><a href="#reflectiongeneratorgetexecutingline">ReflectionGenerator::getExecutingLine - 获取指定的生成器所在的行号</a></li>
<li><a href="#reflectiongeneratorgetfunction">ReflectionGenerator::getFunction - 获取指定的生成器的函数名称</a></li>
<li><a href="#reflectiongeneratorgetthis">ReflectionGenerator::getThis - 获取指定的生成器的 $this 的值</a></li>
<li><a href="#reflectiongeneratorgettrace">ReflectionGenerator::getTrace - 获取指定的生成器的堆栈跟踪信息</a></li>
</ul>
</li>
</ul>
<h2 id="reflection">Reflection</h2>
<h3 id="reflectiongetmodifiernames">Reflection::getModifierNames</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">final</span> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token keyword">public</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Protected method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">protected</span> <span class="token keyword">static</span> <span class="token keyword">function</span> <span class="token keyword">protected</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Private method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">private</span> <span class="token keyword">function</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 comment">//</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span>Reflection<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token function">getModifierNames</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'public'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getModifiers</span><span class="token punctuation">(</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">// array(2) { [0]=> string(5) "final" [1]=> string(6) "public" }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span>Reflection<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token function">getModifierNames</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'protected'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getModifiers</span><span class="token punctuation">(</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">// array(2) { [0]=> string(9) "protected" [1]=> string(6) "static" }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span>Reflection<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token function">getModifierNames</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'private'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getModifiers</span><span class="token punctuation">(</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">// array(1) { [0]=> string(7) "private" }</span>
</code></pre>
<h2 id="reflectionclass">ReflectionClass</h2>
<h3 id="reflectionclassconstruct">ReflectionClass::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionClass)#1 (1) { ["name"]=> string(3) "Foo" }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</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 punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionClass)#1 (1) { ["name"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassgetconstant">ReflectionClass::getConstant</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'constant'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(false)</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">></span><span class="token function">getConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'CONSTANT'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</span>
</code></pre>
<h3 id="reflectionclassgetconstants">ReflectionClass::getConstants</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getConstants</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">// array(1) { ["CONSTANT"]=> string(3) "foo" }</span>
</code></pre>
<h3 id="reflectionclassgetconstructor">ReflectionClass::getConstructor</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constructor.
*
* @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 comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getConstructor</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">// object(ReflectionMethod)#2 (2) { ["name"]=> string(11) "__construct" ["class"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassgetdefaultproperties">ReflectionClass::getDefaultProperties</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">protected</span> string <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string|null
*/</span>
<span class="token keyword">private</span> <span class="token operator">?</span>string <span class="token variable">$baz</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> string <span class="token variable">$qux</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'qux'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getDefaultProperties</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">// array(3) { ["qux"]=> string(3) "qux" ["foo"]=> string(3) "foo" ["bar"]=> string(3) "bar" }</span>
</code></pre>
<h3 id="reflectionclassgetdoccomment">ReflectionClass::getDocComment</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test class.
*/</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getDocComment</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(29) "/**</span>
<span class="token comment">// * Just a test class.</span>
<span class="token comment">// */"</span>
</code></pre>
<h3 id="reflectionclassgetendline">ReflectionClass::getEndLine</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getEndLine</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">// int(6)</span>
</code></pre>
<h3 id="reflectionclassgetextension">ReflectionClass::getExtension</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'ReflectionClass'</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">></span><span class="token function">getExtension</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">// object(ReflectionExtension)#2 (1) { ["name"]=> string(10) "Reflection" }</span>
</code></pre>
<h3 id="reflectionclassgetextensionname">ReflectionClass::getExtensionName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'ReflectionClass'</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">></span><span class="token function">getExtensionName</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(10) "Reflection"</span>
</code></pre>
<h3 id="reflectionclassgetfilename">ReflectionClass::getFileName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getFileName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionclassgetinterfacenames">ReflectionClass::getInterfaceNames</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">interface</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">interface</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span> <span class="token keyword">implements</span> <span class="token class-name">Foo</span><span class="token punctuation">,</span> Bar
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getInterfaceNames</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">// array(2) { [0]=> string(3) "Foo" [1]=> string(3) "Bar" }</span>
</code></pre>
<h3 id="reflectionclassgetinterfaces">ReflectionClass::getInterfaces</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">interface</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">interface</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span> <span class="token keyword">implements</span> <span class="token class-name">Foo</span><span class="token punctuation">,</span> Bar
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getInterfaces</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">// array(2) { ["Foo"]=> object(ReflectionClass)#2 (1) { ["name"]=> string(3) "Foo" } ["Bar"]=> object(ReflectionClass)#3 (1) { ["name"]=> string(3) "Bar" } }</span>
</code></pre>
<h3 id="reflectionclassgetmethod">ReflectionClass::getMethod</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'method'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionMethod)#2 (2) { ["name"]=> string(6) "method" ["class"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassgetmethods">ReflectionClass::getMethods</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getMethods</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">// array(1) { [0]=> object(ReflectionMethod)#2 (2) { ["name"]=> string(6) "method" ["class"]=> string(3) "Foo" } }</span>
</code></pre>
<h3 id="reflectionclassgetmodifiers">ReflectionClass::getModifiers</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getModifiers</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">// int(0)</span>
</code></pre>
<h3 id="reflectionclassgetname">ReflectionClass::getName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'stdClass'</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">></span><span class="token function">getName</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(8) "stdClass"</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span>Bar<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token keyword">class</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 operator">-</span><span class="token operator">></span><span class="token function">getName</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(7) "Foo\Bar"</span>
</code></pre>
<h3 id="reflectionclassgetnamespacename">ReflectionClass::getNamespaceName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'stdClass'</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">></span><span class="token function">getNamespaceName</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(0) ""</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span>Bar<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token keyword">class</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 operator">-</span><span class="token operator">></span><span class="token function">getNamespaceName</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) "Foo"</span>
</code></pre>
<h3 id="reflectionclassgetparentclass">ReflectionClass::getParentClass</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span> <span class="token keyword">extends</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getParentClass</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">// object(ReflectionClass)#2 (1) { ["name"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassgetproperties">ReflectionClass::getProperties</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">protected</span> string <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">private</span> string <span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'baz'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getProperties</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">// array(3) { [0]=> object(ReflectionProperty)#2 (2) { ["name"]=> string(3) "foo" ["class"]=> string(3) "Foo" } [1]=> object(ReflectionProperty)#3 (2) { ["name"]=> string(3) "bar" ["class"]=> string(3) "Foo" } [2]=> object(ReflectionProperty)#4 (2) { ["name"]=> string(3) "baz" ["class"]=> string(3) "Foo" } }</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">></span><span class="token function">getProperties</span><span class="token punctuation">(</span>ReflectionProperty<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">IS_PUBLIC</span> <span class="token operator">|</span> ReflectionProperty<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token constant">IS_PROTECTED</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// array(2) { [0]=> object(ReflectionProperty)#4 (2) { ["name"]=> string(3) "foo" ["class"]=> string(3) "Foo" } [1]=> object(ReflectionProperty)#3 (2) { ["name"]=> string(3) "bar" ["class"]=> string(3) "Foo" } }</span>
</code></pre>
<h3 id="reflectionclassgetproperty">ReflectionClass::getProperty</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">protected</span> string <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">private</span> string <span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'baz'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionProperty)#2 (2) { ["name"]=> string(3) "foo" ["class"]=> string(3) "Foo" }</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">></span><span class="token function">getProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionProperty)#2 (2) { ["name"]=> string(3) "bar" ["class"]=> string(3) "Foo" }</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">></span><span class="token function">getProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'baz'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionProperty)#2 (2) { ["name"]=> string(3) "baz" ["class"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassgetreflectionconstant">ReflectionClass::getReflectionConstant</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getReflectionConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'constant'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(false)</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">></span><span class="token function">getReflectionConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'CONSTANT'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionClassConstant)#2 (2) { ["name"]=> string(8) "CONSTANT" ["class"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassgetreflectionconstants">ReflectionClass::getReflectionConstants</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getReflectionConstants</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">// array(1) { [0]=> object(ReflectionClassConstant)#2 (2) { ["name"]=> string(8) "CONSTANT" ["class"]=> string(3) "Foo" } }</span>
</code></pre>
<h3 id="reflectionclassgetshortname">ReflectionClass::getShortName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'stdClass'</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">></span><span class="token function">getShortName</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(8) "stdClass"</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo\Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getShortName</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) "Bar"</span>
</code></pre>
<h3 id="reflectionclassgetstartline">ReflectionClass::getStartLine</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getStartLine</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">// int(3)</span>
</code></pre>
<h3 id="reflectionclassgetstaticproperties">ReflectionClass::getStaticProperties</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">protected</span> string <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string|null
*/</span>
<span class="token keyword">private</span> <span class="token operator">?</span>string <span class="token variable">$baz</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> string <span class="token variable">$qux</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'qux'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getStaticProperties</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">// array(1) { ["qux"]=> string(3) "qux" }</span>
</code></pre>
<h3 id="reflectionclassgetstaticpropertyvalue">ReflectionClass::getStaticPropertyValue</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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> <span class="token keyword">static</span> string <span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">getStaticPropertyValue</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</span>
</code></pre>
<h3 id="reflectionclassgettraitaliases">ReflectionClass::getTraitAliases</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">trait</span> Foo
<span class="token punctuation">{</span>
<span class="token comment">/**
* Just a test method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token keyword">use</span> <span class="token package">Foo</span>
<span class="token punctuation">{</span>
Foo<span class="token punctuation">:</span><span class="token punctuation">:</span>method <span class="token keyword">as</span> test<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getTraitAliases</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">// array(1) { ["test"]=> string(11) "Foo::method" }</span>
</code></pre>
<h3 id="reflectionclassgettraitnames">ReflectionClass::getTraitNames</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">trait</span> Foo
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">trait</span> Bar
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span>
<span class="token punctuation">{</span>
<span class="token keyword">use</span> <span class="token package">Foo</span><span class="token punctuation">,</span> Bar<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getTraitNames</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">// array(2) { [0]=> string(3) "Foo" [1]=> string(3) "Bar" }</span>
</code></pre>
<h3 id="reflectionclassgettraits">ReflectionClass::getTraits</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">trait</span> Foo
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">trait</span> Bar
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span>
<span class="token punctuation">{</span>
<span class="token keyword">use</span> <span class="token package">Foo</span><span class="token punctuation">,</span> Bar<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getTraits</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">// array(2) { ["Foo"]=> object(ReflectionClass)#2 (1) { ["name"]=> string(3) "Foo" } ["Bar"]=> object(ReflectionClass)#3 (1) { ["name"]=> string(3) "Bar" } }</span>
</code></pre>
<h3 id="reflectionclasshasconstant">ReflectionClass::hasConstant</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">hasConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'constant'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(false)</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">></span><span class="token function">hasConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'CONSTANT'</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>
<h3 id="reflectionclasshasmethod">ReflectionClass::hasMethod</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token keyword">public</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Protected method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">protected</span> <span class="token keyword">function</span> <span class="token keyword">protected</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Private method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">private</span> <span class="token keyword">function</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 comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">hasMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'public'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">hasMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'protected'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">hasMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'private'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">hasMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'method'</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>
<h3 id="reflectionclasshasproperty">ReflectionClass::hasProperty</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">protected</span> string <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">private</span> string <span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'baz'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">hasProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">hasProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">hasProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'baz'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">hasProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'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>
<h3 id="reflectionclassimplementsinterface">ReflectionClass::implementsInterface</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">interface</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">interface</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span> <span class="token keyword">implements</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">implementsInterface</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">implementsInterface</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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>
<h3 id="reflectionclassinnamespace">ReflectionClass::inNamespace</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'stdClass'</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">></span><span class="token function">inNamespace</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionClass</span><span class="token punctuation">(</span>Bar<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token keyword">class</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 operator">-</span><span class="token operator">></span><span class="token function">inNamespace</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassisabstract">ReflectionClass::isAbstract</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">abstract</span> <span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isAbstract</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isAbstract</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassisanonymous">ReflectionClass::isAnonymous</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isAnonymous</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">class</span> <span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$bar</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isAnonymous</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassiscloneable">ReflectionClass::isCloneable</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Do not clone this class.
*
* @param void
* @return void
*/</span>
<span class="token keyword">private</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 comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isCloneable</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">// bool(true)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isCloneable</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionclassisfinal">ReflectionClass::isFinal</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">final</span> <span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isFinal</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isFinal</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassisinstance">ReflectionClass::isInstance</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isInstance</span><span class="token punctuation">(</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 punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(true)</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token punctuation">(</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">instanceof</span> <span class="token class-name">Foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(true)</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token function">is_a</span><span class="token punctuation">(</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 single-quoted-string string">'Foo'</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>
<h3 id="reflectionclassisinstantiable">ReflectionClass::isInstantiable</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">interface</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">abstract</span> <span class="token keyword">class</span> <span class="token class-name">Baz</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">trait</span> Qux
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Quux</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Do not instantiate this class.
*
* @param void
* @return void
*/</span>
<span class="token keyword">private</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 comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isInstantiable</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">// bool(true)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isInstantiable</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">// bool(false)</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isInstantiable</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">// bool(false)</span>
<span class="token variable">$qux</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Qux'</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">$qux</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isInstantiable</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">// bool(false)</span>
<span class="token variable">$quux</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Quux'</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">$quux</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isInstantiable</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionclassisinterface">ReflectionClass::isInterface</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">interface</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isInterface</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isInterface</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassisinternal">ReflectionClass::isInternal</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'stdClass'</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">></span><span class="token function">isInternal</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">// bool(true)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isInternal</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionclassisiterable">ReflectionClass::isIterable</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span> <span class="token keyword">implements</span> <span class="token class-name">Iterator</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Store an array.
*
* @var array
*/</span>
<span class="token keyword">private</span> <span class="token keyword">array</span> <span class="token variable">$property</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Store an array to the property.
*
* @param array $array
* @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 keyword">array</span> <span class="token variable">$array</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">></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 punctuation">}</span>
<span class="token comment">/**
* Return the current element of the specified property.
*
* @param void
* @return int
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">current</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token function">current</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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">/**
* Advance the internal pointer 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">next</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 constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">next</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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">/**
* Return the current key of the specified property.
*
* @param void
* @return int
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">key</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token function">key</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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">/**
* Return the validity of the current position of the specified property.
*
* @param void
* @return bool
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">valid</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> bool
<span class="token punctuation">{</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token function">current</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></span><span class="token property">property</span><span class="token punctuation">)</span> <span class="token operator">!==</span> <span class="token boolean constant">false</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Set the internal pointer of the specified property to the first element.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">rewind</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 constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">reset</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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 punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span> <span class="token keyword">implements</span> <span class="token class-name">IteratorAggregate</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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'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">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</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">$baz</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'baz'</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">$qux</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'qux'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Return an external iterator.
*
* @param void
* @return ArrayIterator
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">getIterator</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> ArrayIterator
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">new</span> <span class="token class-name">ArrayIterator</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token punctuation">)</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">Qux</span> <span class="token keyword">extends</span> <span class="token class-name">ArrayObject</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isIterable</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isIterable</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">// bool(true)</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isIterable</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">// bool(true)</span>
<span class="token variable">$qux</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Qux'</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">$qux</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isIterable</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassisiterateable">ReflectionClass::isIterateable</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span> <span class="token keyword">implements</span> <span class="token class-name">Iterator</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Store an array.
*
* @var array
*/</span>
<span class="token keyword">private</span> <span class="token keyword">array</span> <span class="token variable">$property</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Store an array to the property.
*
* @param array $array
* @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 keyword">array</span> <span class="token variable">$array</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">></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 punctuation">}</span>
<span class="token comment">/**
* Return the current element of the specified property.
*
* @param void
* @return int
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">current</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token function">current</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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">/**
* Advance the internal pointer 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">next</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 constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">next</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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">/**
* Return the current key of the specified property.
*
* @param void
* @return int
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">key</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token function">key</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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">/**
* Return the validity of the current position of the specified property.
*
* @param void
* @return bool
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">valid</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> bool
<span class="token punctuation">{</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token function">current</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></span><span class="token property">property</span><span class="token punctuation">)</span> <span class="token operator">!==</span> <span class="token boolean constant">false</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Set the internal pointer of the specified property to the first element.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">rewind</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 constant">__METHOD__</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">reset</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></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 punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span> <span class="token keyword">implements</span> <span class="token class-name">IteratorAggregate</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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'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">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</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">$baz</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'baz'</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">$qux</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'qux'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Return an external iterator.
*
* @param void
* @return ArrayIterator
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">getIterator</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> ArrayIterator
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">new</span> <span class="token class-name">ArrayIterator</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token punctuation">)</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">Qux</span> <span class="token keyword">extends</span> <span class="token class-name">ArrayObject</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isIterateable</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isIterateable</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">// bool(true)</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isIterateable</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">// bool(true)</span>
<span class="token variable">$qux</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Qux'</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">$qux</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isIterateable</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassissubclassof">ReflectionClass::isSubclassOf</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Baz</span> <span class="token keyword">extends</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Baz'</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isSubclassOf</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isSubclassOf</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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>
<h3 id="reflectionclassistrait">ReflectionClass::isTrait</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token keyword">trait</span> Bar
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">isTrait</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isTrait</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassisuserdefined">ReflectionClass::isUserDefined</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'stdClass'</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">></span><span class="token function">isUserDefined</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</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 operator">-</span><span class="token operator">></span><span class="token function">isUserDefined</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassnewinstance">ReflectionClass::newInstance</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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|null
*/</span>
<span class="token keyword">public</span> <span class="token operator">?</span>string <span class="token variable">$foo</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string|null
*/</span>
<span class="token keyword">public</span> <span class="token operator">?</span>string <span class="token variable">$bar</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Initialize the value of the property.
*
* @param string|null $foo
* @param string|null $bar
* @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 operator">?</span>string <span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token constant">null</span><span class="token punctuation">,</span> <span class="token operator">?</span>string <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token constant">null</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">></span><span class="token property">foo</span> <span class="token operator">=</span> <span class="token variable">$foo</span><span class="token punctuation">;</span>
<span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></span><span class="token property">bar</span> <span class="token operator">=</span> <span class="token variable">$bar</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">newInstance</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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// NULL</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">></span><span class="token property">bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// NULL</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">newInstance</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</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">></span><span class="token property">bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// NULL</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">newInstance</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'bar'</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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</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">></span><span class="token property">bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "bar"</span>
</code></pre>
<h3 id="reflectionclassnewinstanceargs">ReflectionClass::newInstanceArgs</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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|null
*/</span>
<span class="token keyword">public</span> <span class="token operator">?</span>string <span class="token variable">$foo</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string|null
*/</span>
<span class="token keyword">public</span> <span class="token operator">?</span>string <span class="token variable">$bar</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Initialize the value of the property.
*
* @param string|null $value
* @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 operator">?</span>string <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><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">></span><span class="token property">foo</span> <span class="token operator">=</span> <span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$value</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">?</span> <span class="token variable">$value</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token punctuation">:</span> <span class="token constant">null</span><span class="token punctuation">;</span>
<span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></span><span class="token property">bar</span> <span class="token operator">=</span> <span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$value</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">?</span> <span class="token variable">$value</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token punctuation">:</span> <span class="token constant">null</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">newInstanceArgs</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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// NULL</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">></span><span class="token property">bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// NULL</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">newInstanceArgs</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token single-quoted-string string">'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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</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">></span><span class="token property">bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// NULL</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">newInstanceArgs</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'bar'</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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</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">></span><span class="token property">bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "bar"</span>
</code></pre>
<h3 id="reflectionclassnewinstancewithoutconstructor">ReflectionClass::newInstanceWithoutConstructor</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'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">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Change 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 keyword">list</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></span><span class="token property">foo</span><span class="token punctuation">,</span> <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></span><span class="token property">bar</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token single-quoted-string string">'FOO'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'BAR'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">newInstanceWithoutConstructor</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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</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">></span><span class="token property">bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "bar"</span>
</code></pre>
<h3 id="reflectionclasssetstaticpropertyvalue">ReflectionClass::setStaticPropertyValue</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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> <span class="token keyword">static</span> string <span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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">></span><span class="token function">setStaticPropertyValue</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'bar'</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 punctuation">(</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 punctuation">:</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) "bar"</span>
</code></pre>
<h3 id="reflectionclasstostring">ReflectionClass::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionClass</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</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 keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span>
</code></pre>
<h2 id="reflectionclassconstant">ReflectionClassConstant</h2>
<h3 id="reflectionclassconstantconstruct">ReflectionClassConstant::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">new</span> <span class="token class-name">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionClassConstant)#1 (2) { ["name"]=> string(8) "CONSTANT" ["class"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassconstantgetdeclaringclass">ReflectionClassConstant::getDeclaringClass</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">getDeclaringClass</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">// object(ReflectionClass)#2 (1) { ["name"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionclassconstantgetdoccomment">ReflectionClassConstant::getDocComment</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">getDocComment</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(66) "/**</span>
<span class="token comment">// * Just a test constant.</span>
<span class="token comment">// *</span>
<span class="token comment">// * @var string</span>
<span class="token comment">// */"</span>
</code></pre>
<h3 id="reflectionclassconstantgetmodifiers">ReflectionClassConstant::getModifiers</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">getModifiers</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">// int(1)</span>
</code></pre>
<h3 id="reflectionclassconstantgetname">ReflectionClassConstant::getName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">getName</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(8) "CONSTANT"</span>
</code></pre>
<h3 id="reflectionclassconstantgetvalue">ReflectionClassConstant::getValue</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">getValue</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) "foo"</span>
</code></pre>
<h3 id="reflectionclassconstantisprivate">ReflectionClassConstant::isPrivate</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">private</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">isPrivate</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassconstantisprotected">ReflectionClassConstant::isProtected</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">protected</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">isProtected</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassconstantispublic">ReflectionClassConstant::isPublic</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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">></span><span class="token function">isPublic</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionclassconstanttostring">ReflectionClassConstant::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constant.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">const</span> <span class="token constant">CONSTANT</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionClassConstant</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'CONSTANT'</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 comment">// Constant [ public string CONSTANT ] { foo }</span>
<span class="token keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span> <span class="token comment">// Constant [ public string CONSTANT ] { foo }</span>
</code></pre>
<h2 id="reflectionzendextension">ReflectionZendExtension</h2>
<h3 id="reflectionzendextensionconstruct">ReflectionZendExtension::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionZendExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Zend OPcache'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionZendExtension)#1 (1) { ["name"]=> string(12) "Zend OPcache" }</span>
</code></pre>
<h3 id="reflectionzendextensiongetauthor">ReflectionZendExtension::getAuthor</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionZendExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Zend OPcache'</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">></span><span class="token function">getAuthor</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(17) "Zend Technologies"</span>
</code></pre>
<h3 id="reflectionzendextensiongetcopyright">ReflectionZendExtension::getCopyright</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionZendExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Zend OPcache'</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">></span><span class="token function">getCopyright</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(13) "Copyright (c)"</span>
</code></pre>
<h3 id="reflectionzendextensiongetname">ReflectionZendExtension::getName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionZendExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Zend OPcache'</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">></span><span class="token function">getName</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(12) "Zend OPcache"</span>
</code></pre>
<h3 id="reflectionzendextensiongeturl">ReflectionZendExtension::getURL</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionZendExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Zend OPcache'</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">></span><span class="token function">getURL</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(20) "http://www.zend.com/"</span>
</code></pre>
<h3 id="reflectionzendextensiongetversion">ReflectionZendExtension::getVersion</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionZendExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Zend OPcache'</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">></span><span class="token function">getVersion</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionzendextensiontostring">ReflectionZendExtension::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionZendExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Zend OPcache'</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 keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span>
</code></pre>
<h2 id="reflectionextension">ReflectionExtension</h2>
<h3 id="reflectionextensionconstruct">ReflectionExtension::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionExtension)#1 (1) { ["name"]=> string(10) "Reflection" }</span>
</code></pre>
<h3 id="reflectionextensiongetclasses">ReflectionExtension::getClasses</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getClasses</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensiongetclassnames">ReflectionExtension::getClassNames</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getClassNames</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensiongetconstants">ReflectionExtension::getConstants</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getConstants</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensiongetdependencies">ReflectionExtension::getDependencies</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getDependencies</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensiongetfunctions">ReflectionExtension::getFunctions</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getFunctions</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensiongetinientries">ReflectionExtension::getINIEntries</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getINIEntries</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensiongetname">ReflectionExtension::getName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getName</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(10) "Reflection"</span>
</code></pre>
<h3 id="reflectionextensiongetversion">ReflectionExtension::getVersion</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">getVersion</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensioninfo">ReflectionExtension::info</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">info</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionextensionispersistent">ReflectionExtension::isPersistent</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">isPersistent</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionextensionistemporary">ReflectionExtension::isTemporary</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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">></span><span class="token function">isTemporary</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionextensiontostring">ReflectionExtension::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionExtension</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Reflection'</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 keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span>
</code></pre>
<h2 id="reflectionfunction">ReflectionFunction</h2>
<h3 id="reflectionfunctionconstruct">ReflectionFunction::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">//</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">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionFunction)#2 (1) { ["name"]=> string(3) "foo" }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</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(ReflectionFunction)#2 (1) { ["name"]=> string(9) "{closure}" }</span>
</code></pre>
<h3 id="reflectionfunctiongetclosure">ReflectionFunction::getClosure</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</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">'foo'</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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 punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getClosure</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</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) "foo"</span>
</code></pre>
<h3 id="reflectionfunctioninvoke">ReflectionFunction::invoke</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Calculate the sum of two integers.
*
* @param int $a
* @param int $b
* @return int
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>int <span class="token variable">$a</span><span class="token punctuation">,</span> int <span class="token variable">$b</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token variable">$a</span> <span class="token operator">+</span> <span class="token variable">$b</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">invoke</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// int(5)</span>
</code></pre>
<h3 id="reflectionfunctioninvokeargs">ReflectionFunction::invokeArgs</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Calculate the sum of all integers.
*
* @param int $number
* @return int
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>int <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token variable">$number</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token variable">$sum</span> <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token keyword">foreach</span> <span class="token punctuation">(</span><span class="token variable">$number</span> <span class="token keyword">as</span> <span class="token variable">$value</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token variable">$sum</span> <span class="token operator">+</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 keyword">return</span> <span class="token variable">$sum</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">invokeArgs</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</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">// int(6)</span>
</code></pre>
<h3 id="reflectionfunctionisdisabled">ReflectionFunction::isDisabled</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isDisabled</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionfunctiontostring">ReflectionFunction::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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 keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span>
</code></pre>
<h2 id="reflectionfunctionabstract">ReflectionFunctionAbstract</h2>
<h3 id="reflectionfunctionabstractgetclosurescopeclass">ReflectionFunctionAbstract::getClosureScopeClass</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getClosureScopeClass</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">// NULL</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetclosurethis">ReflectionFunctionAbstract::getClosureThis</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getClosureThis</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">// NULL</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetdoccomment">ReflectionFunctionAbstract::getDocComment</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getDocComment</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(67) "/**</span>
<span class="token comment">// * Just a test function.</span>
<span class="token comment">// *</span>
<span class="token comment">// * @param void</span>
<span class="token comment">// * @return void</span>
<span class="token comment">// */"</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetendline">ReflectionFunctionAbstract::getEndLine</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getEndLine</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">// int(12)</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetextension">ReflectionFunctionAbstract::getExtension</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getExtension</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">// NULL</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'mb_strlen'</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">></span><span class="token function">getExtension</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">// object(ReflectionExtension)#1 (1) { ["name"]=> string(8) "mbstring" }</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetextensionname">ReflectionFunctionAbstract::getExtensionName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getExtensionName</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">// bool(false)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'mb_strlen'</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">></span><span class="token function">getExtensionName</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(8) "mbstring"</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetfilename">ReflectionFunctionAbstract::getFileName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getFileName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetname">ReflectionFunctionAbstract::getName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">getName</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(8) "var_dump"</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo\bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getName</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(7) "Foo\bar"</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetnamespacename">ReflectionFunctionAbstract::getNamespaceName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">getNamespaceName</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(0) ""</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo\bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getNamespaceName</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) "Foo"</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetnumberofparameters">ReflectionFunctionAbstract::getNumberOfParameters</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getNumberOfParameters</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">// int(0)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">getNumberOfParameters</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">// int(1)</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetnumberofrequiredparameters">ReflectionFunctionAbstract::getNumberOfRequiredParameters</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return string
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">$string</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getNumberOfRequiredParameters</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">// int(0)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">getNumberOfRequiredParameters</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">// int(1)</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetparameters">ReflectionFunctionAbstract::getParameters</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Calculate the sum of two integers.
*
* @param int $a
* @param int $b
* @return int
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>int <span class="token variable">$a</span><span class="token punctuation">,</span> int <span class="token variable">$b</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token variable">$a</span> <span class="token operator">+</span> <span class="token variable">$b</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getParameters</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">// array(0) { }</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getParameters</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">// array(2) { [0]=> object(ReflectionParameter)#3 (1) { ["name"]=> string(1) "a" } [1]=> object(ReflectionParameter)#4 (1) { ["name"]=> string(1) "b" } }</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetreturntype">ReflectionFunctionAbstract::getReturnType</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return string
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</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">'bar'</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getReturnType</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">// NULL</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getReturnType</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">// object(ReflectionNamedType)#3 (0) { }</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetshortname">ReflectionFunctionAbstract::getShortName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">getShortName</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(8) "var_dump"</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo\bar'</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 operator">-</span><span class="token operator">></span><span class="token function">getShortName</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) "bar"</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetstartline">ReflectionFunctionAbstract::getStartLine</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getStartLine</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">// int(9)</span>
</code></pre>
<h3 id="reflectionfunctionabstractgetstaticvariables">ReflectionFunctionAbstract::getStaticVariables</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">static</span> <span class="token variable">$a</span> <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span>
<span class="token keyword">static</span> <span class="token variable">$b</span> <span class="token operator">=</span> <span class="token number">3</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">getStaticVariables</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">// array(2) { ["a"]=> int(2) ["b"]=> int(3) }</span>
</code></pre>
<h3 id="reflectionfunctionabstracthasreturntype">ReflectionFunctionAbstract::hasReturnType</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return string
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</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">'bar'</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">hasReturnType</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</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 operator">-</span><span class="token operator">></span><span class="token function">hasReturnType</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionfunctionabstractinnamespace">ReflectionFunctionAbstract::inNamespace</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">namespace</span> <span class="token package">Foo</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">inNamespace</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name"><span class="token punctuation">\</span>ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo\bar'</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 operator">-</span><span class="token operator">></span><span class="token function">inNamespace</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionfunctionabstractisclosure">ReflectionFunctionAbstract::isClosure</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isClosure</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$bar</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isClosure</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionfunctionabstractisdeprecated">ReflectionFunctionAbstract::isDeprecated</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isDeprecated</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionfunctionabstractisgenerator">ReflectionFunctionAbstract::isGenerator</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isGenerator</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">// bool(false)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</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">></span><span class="token function">isGenerator</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionfunctionabstractisinternal">ReflectionFunctionAbstract::isInternal</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isInternal</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">// bool(false)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">isInternal</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionfunctionabstractisuserdefined">ReflectionFunctionAbstract::isUserDefined</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isUserDefined</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">// bool(true)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'var_dump'</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">></span><span class="token function">isUserDefined</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionfunctionabstractisvariadic">ReflectionFunctionAbstract::isVariadic</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isVariadic</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionfunctionabstractreturnsreference">ReflectionFunctionAbstract::returnsReference</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Return a reference.
*
* @param void
* @return int
*/</span>
<span class="token keyword">function</span> <span class="token operator">&</span><span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token keyword">static</span> <span class="token variable">$a</span> <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token variable">$a</span><span class="token operator">++</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">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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">></span><span class="token function">returnsReference</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionFunction</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</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 operator">-</span><span class="token operator">></span><span class="token function">returnsReference</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">// bool(true)</span>
</code></pre>
<h2 id="reflectionmethod">ReflectionMethod</h2>
<h3 id="reflectionmethodconstruct">ReflectionMethod::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo::method'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectionmethodgetclosure">ReflectionMethod::getClosure</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token keyword">public</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">'public'</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Protected method.
*
* @param void
* @return string
*/</span>
<span class="token keyword">protected</span> <span class="token keyword">function</span> <span class="token keyword">protected</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">'protected'</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Private method.
*
* @param void
* @return string
*/</span>
<span class="token keyword">private</span> <span class="token keyword">function</span> <span class="token keyword">private</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">'private'</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'public'</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 punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getClosure</span><span class="token punctuation">(</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 punctuation">)</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(6) "public"</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'protected'</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 punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getClosure</span><span class="token punctuation">(</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 punctuation">)</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(9) "protected"</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'private'</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 punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getClosure</span><span class="token punctuation">(</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 punctuation">)</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(7) "private"</span>
</code></pre>
<h3 id="reflectionmethodgetdeclaringclass">ReflectionMethod::getDeclaringClass</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">getDeclaringClass</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">// object(ReflectionClass)#2 (1) { ["name"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionmethodgetmodifiers">ReflectionMethod::getModifiers</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">final</span> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token keyword">public</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Protected method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">protected</span> <span class="token keyword">static</span> <span class="token keyword">function</span> <span class="token keyword">protected</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Private method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">private</span> <span class="token keyword">function</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 comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'public'</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">></span><span class="token function">getModifiers</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">// int(33)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'protected'</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">></span><span class="token function">getModifiers</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">// int(18)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'private'</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">></span><span class="token function">getModifiers</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">// int(4)</span>
</code></pre>
<h3 id="reflectionmethodgetprototype">ReflectionMethod::getPrototype</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Bar</span> <span class="token keyword">extends</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Override the parent method.
*
* @param void
* @return string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</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">'bar'</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">getPrototype</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">// PHP Fatal error: Uncaught ReflectionException: Method Foo::method does not have a prototype.</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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 operator">-</span><span class="token operator">></span><span class="token function">getPrototype</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">// object(ReflectionMethod)#3 (2) { ["name"]=> string(6) "method" ["class"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionmethodinvoke">ReflectionMethod::invoke</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Calculate the sum of two integers.
*
* @param int $a
* @param int $b
* @return int
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span>int <span class="token variable">$a</span><span class="token punctuation">,</span> int <span class="token variable">$b</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token variable">$a</span> <span class="token operator">+</span> <span class="token variable">$b</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">invoke</span><span class="token punctuation">(</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 number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// int(5)</span>
</code></pre>
<h3 id="reflectionmethodinvokeargs">ReflectionMethod::invokeArgs</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Calculate the sum of all integers.
*
* @param array $number
* @return int
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token keyword">array</span> <span class="token variable">$number</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token variable">$sum</span> <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token keyword">foreach</span> <span class="token punctuation">(</span><span class="token variable">$number</span> <span class="token keyword">as</span> <span class="token variable">$value</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token variable">$sum</span> <span class="token operator">+</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 keyword">return</span> <span class="token variable">$sum</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">invoke</span><span class="token punctuation">(</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 punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</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">// int(6)</span>
</code></pre>
<h3 id="reflectionmethodisabstract">ReflectionMethod::isAbstract</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">abstract</span> <span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Just an abstract method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">abstract</span> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isAbstract</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionmethodisconstructor">ReflectionMethod::isConstructor</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 constructor.
*
* @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 comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'__construct'</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">></span><span class="token function">isConstructor</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">// bool(true)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isConstructor</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionmethodisdestructor">ReflectionMethod::isDestructor</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'__destruct'</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">></span><span class="token function">isDestructor</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">// bool(true)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isDestructor</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionmethodisfinal">ReflectionMethod::isFinal</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">final</span> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isFinal</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionmethodisprivate">ReflectionMethod::isPrivate</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">private</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isPrivate</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionmethodisprotected">ReflectionMethod::isProtected</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">protected</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isProtected</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionmethodispublic">ReflectionMethod::isPublic</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isPublic</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionmethodisstatic">ReflectionMethod::isStatic</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">isStatic</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionmethodsetaccessible">ReflectionMethod::setAccessible</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Calculate the sum of two integers.
*
* @param int $a
* @param int $b
* @return int
*/</span>
<span class="token keyword">private</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span>int <span class="token variable">$a</span><span class="token punctuation">,</span> int <span class="token variable">$b</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token variable">$a</span> <span class="token operator">+</span> <span class="token variable">$b</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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">></span><span class="token function">setAccessible</span><span class="token punctuation">(</span><span class="token boolean constant">true</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">></span><span class="token function">invoke</span><span class="token punctuation">(</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 number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// int(5)</span>
</code></pre>
<h3 id="reflectionmethodtostring">ReflectionMethod::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionMethod</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'method'</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 keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span>
</code></pre>
<h2 id="reflectionobject">ReflectionObject</h2>
<h3 id="reflectionobjectconstruct">ReflectionObject::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionObject</span><span class="token punctuation">(</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 punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionObject)#1 (1) { ["name"]=> string(3) "Foo" }</span>
</code></pre>
<h2 id="reflectionparameter">ReflectionParameter</h2>
<h3 id="reflectionparameterconstruct">ReflectionParameter::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Calculate the sum of two integers.
*
* @param int $a
* @param int $b
* @return int
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>int <span class="token variable">$a</span><span class="token punctuation">,</span> int <span class="token variable">$b</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token variable">$a</span> <span class="token operator">+</span> <span class="token variable">$b</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">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'a'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionParameter)#1 (1) { ["name"]=> string(1) "a" }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionParameter)#1 (1) { ["name"]=> string(1) "a" }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'b'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionParameter)#1 (1) { ["name"]=> string(1) "b" }</span>
<span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionParameter)#1 (1) { ["name"]=> string(1) "b" }</span>
</code></pre>
<h3 id="reflectionparameterallowsnull">ReflectionParameter::allowsNull</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param string|null $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span><span class="token operator">?</span>string <span class="token variable">$string</span> <span class="token operator">=</span> <span class="token constant">null</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">allowsNull</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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 operator">-</span><span class="token operator">></span><span class="token function">allowsNull</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionparametercanbepassedbyvalue">ReflectionParameter::canBePassedByValue</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param string &$string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>string <span class="token operator">&</span><span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">canBePassedByValue</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">// bool(true)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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 operator">-</span><span class="token operator">></span><span class="token function">canBePassedByValue</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionparametergetclass">ReflectionParameter::getClass</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param Exception $exception
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>Exception <span class="token variable">$exception</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">getClass</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">// NULL</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'exception'</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 operator">-</span><span class="token operator">></span><span class="token function">getClass</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">// object(ReflectionClass)#3 (1) { ["name"]=> string(9) "Exception" }</span>
</code></pre>
<h3 id="reflectionparametergetdeclaringclass">ReflectionParameter::getDeclaringClass</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 method.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token punctuation">[</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 single-quoted-string string">'method'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">getDeclaringClass</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">// object(ReflectionClass)#2 (1) { ["name"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionparametergetdeclaringfunction">ReflectionParameter::getDeclaringFunction</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">getDeclaringFunction</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">// object(ReflectionFunction)#2 (1) { ["name"]=> string(3) "foo" }</span>
</code></pre>
<h3 id="reflectionparametergetdefaultvalue">ReflectionParameter::getDefaultValue</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>string <span class="token variable">$string</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">getDefaultValue</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">// PHP Fatal error: Uncaught ReflectionException: Internal error: Failed to retrieve the default value.</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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 operator">-</span><span class="token operator">></span><span class="token function">getDefaultValue</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) "bar"</span>
</code></pre>
<h3 id="reflectionparametergetdefaultvalueconstantname">ReflectionParameter::getDefaultValueConstantName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param int $number
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>int <span class="token variable">$number</span> <span class="token operator">=</span> <span class="token constant">PHP_INI_MIN</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'number'</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">></span><span class="token function">getDefaultValueConstantName</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(11) "PHP_INI_MIN"</span>
</code></pre>
<h3 id="reflectionparametergetname">ReflectionParameter::getName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">getName</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(6) "string"</span>
</code></pre>
<h3 id="reflectionparametergetposition">ReflectionParameter::getPosition</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Calculate the sum of two integers.
*
* @param int $a
* @param int $b
* @return int
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>int <span class="token variable">$a</span><span class="token punctuation">,</span> int <span class="token variable">$b</span><span class="token punctuation">)</span><span class="token punctuation">:</span> int
<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token variable">$a</span> <span class="token operator">+</span> <span class="token variable">$b</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'a'</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">></span><span class="token function">getPosition</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">// int(0)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'b'</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">></span><span class="token function">getPosition</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">// int(1)</span>
</code></pre>
<h3 id="reflectionparametergettype">ReflectionParameter::getType</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param int $number
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>int <span class="token variable">$number</span><span class="token punctuation">,</span> string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'number'</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">></span><span class="token function">getType</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">// object(ReflectionNamedType)#2 (0) { }</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">getType</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">// object(ReflectionNamedType)#1 (0) { }</span>
</code></pre>
<h3 id="reflectionparameterhastype">ReflectionParameter::hasType</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">hasType</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionparameterisarray">ReflectionParameter::isArray</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param array $array
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</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>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">isArray</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'array'</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 operator">-</span><span class="token operator">></span><span class="token function">isArray</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionparameteriscallable">ReflectionParameter::isCallable</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'array_map'</span><span class="token punctuation">,</span> <span class="token number">0</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">></span><span class="token function">isCallable</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionparameterisdefaultvalueavailable">ReflectionParameter::isDefaultValueAvailable</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>string <span class="token variable">$string</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">isDefaultValueAvailable</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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 operator">-</span><span class="token operator">></span><span class="token function">isDefaultValueAvailable</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionparameterisdefaultvalueconstant">ReflectionParameter::isDefaultValueConstant</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param int $number
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>int <span class="token variable">$number</span> <span class="token operator">=</span> <span class="token constant">PHP_INI_MIN</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'number'</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">></span><span class="token function">isDefaultValueConstant</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionparameterisoptional">ReflectionParameter::isOptional</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>string <span class="token variable">$string</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">isOptional</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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 operator">-</span><span class="token operator">></span><span class="token function">isOptional</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionparameterispassedbyreference">ReflectionParameter::isPassedByReference</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param string &$string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>string <span class="token operator">&</span><span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">isPassedByReference</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">// bool(false)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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 operator">-</span><span class="token operator">></span><span class="token function">isPassedByReference</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionparameterisvariadic">ReflectionParameter::isVariadic</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">isVariadic</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionparametertostring">ReflectionParameter::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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 comment">// Parameter #0 [ string $string ]</span>
<span class="token keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span> <span class="token comment">// Parameter #0 [ string $string ]</span>
</code></pre>
<h2 id="reflectionproperty">ReflectionProperty</h2>
<h3 id="reflectionpropertyconstruct">ReflectionProperty::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">new</span> <span class="token class-name">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'property'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// object(ReflectionProperty)#1 (2) { ["name"]=> string(8) "property" ["class"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionpropertygetdeclaringclass">ReflectionProperty::getDeclaringClass</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getDeclaringClass</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">// object(ReflectionClass)#2 (1) { ["name"]=> string(3) "Foo" }</span>
</code></pre>
<h3 id="reflectionpropertygetdoccomment">ReflectionProperty::getDocComment</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getDocComment</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(66) "/**</span>
<span class="token comment">// * Just a test property.</span>
<span class="token comment">// *</span>
<span class="token comment">// * @var string</span>
<span class="token comment">// */"</span>
</code></pre>
<h3 id="reflectionpropertygetmodifiers">ReflectionProperty::getModifiers</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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> <span class="token keyword">static</span> string <span class="token variable">$public</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'public'</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">'protected'</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">'private'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'public'</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">></span><span class="token function">getModifiers</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">// int(17)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'protected'</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">></span><span class="token function">getModifiers</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">// int(2)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'private'</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">></span><span class="token function">getModifiers</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">// int(4)</span>
</code></pre>
<h3 id="reflectionpropertygetname">ReflectionProperty::getName</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getName</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(8) "property"</span>
</code></pre>
<h3 id="reflectionpropertygettype">ReflectionProperty::getType</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getType</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">// object(ReflectionNamedType)#2 (0) { }</span>
</code></pre>
<h3 id="reflectionpropertygetvalue">ReflectionProperty::getValue</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getValue</span><span class="token punctuation">(</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 punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</span>
</code></pre>
<h3 id="reflectionpropertyhastype">ReflectionProperty::hasType</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'foo'</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">></span><span class="token function">hasType</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">// bool(true)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'bar'</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">></span><span class="token function">hasType</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">// bool(false)</span>
</code></pre>
<h3 id="reflectionpropertyisdefault">ReflectionProperty::isDefault</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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|null
*/</span>
<span class="token keyword">public</span> <span class="token operator">?</span>string <span class="token variable">$foo</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isDefault</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionpropertyisinitialized">ReflectionProperty::isInitialized</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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|null
*/</span>
<span class="token keyword">public</span> <span class="token operator">?</span>string <span class="token variable">$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">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'foo'</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">></span><span class="token function">isInitialized</span><span class="token punctuation">(</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 punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(false)</span>
<span class="token variable">$foo</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'bar'</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">></span><span class="token function">isInitialized</span><span class="token punctuation">(</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 punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// bool(true)</span>
</code></pre>
<h3 id="reflectionpropertyisprivate">ReflectionProperty::isPrivate</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">private</span> string <span class="token variable">$property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isPrivate</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionpropertyisprotected">ReflectionProperty::isProtected</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">protected</span> string <span class="token variable">$property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isProtected</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionpropertyispublic">ReflectionProperty::isPublic</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isPublic</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionpropertyisstatic">ReflectionProperty::isStatic</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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> <span class="token keyword">static</span> string <span class="token variable">$property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'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 variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isStatic</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">// bool(true)</span>
</code></pre>
<h3 id="reflectionpropertysetaccessible">ReflectionProperty::setAccessible</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">private</span> string <span class="token variable">$property</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'property'</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">></span><span class="token function">setAccessible</span><span class="token punctuation">(</span><span class="token boolean constant">true</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">></span><span class="token function">getValue</span><span class="token punctuation">(</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 punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</span>
</code></pre>
<h3 id="reflectionpropertysetvalue">ReflectionProperty::setValue</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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">$foo</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">;</span>
<span class="token comment">/**
* Just a test property.
*
* @var string
*/</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> string <span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token single-quoted-string string">'bar'</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">$reflection</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'foo'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$reflection</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">setValue</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'bar'</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">></span><span class="token property">foo</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "bar"</span>
<span class="token variable">$reflection</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'bar'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$reflection</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">setValue</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</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 variable">$bar</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// string(3) "foo"</span>
</code></pre>
<h3 id="reflectionpropertytostring">ReflectionProperty::__toString</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?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 operator">=</span> <span class="token single-quoted-string string">'foo'</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">ReflectionProperty</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'Foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'property'</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 comment">// Property [ <default> public $property ]</span>
<span class="token keyword">print</span> <span class="token variable">$foo</span><span class="token punctuation">;</span> <span class="token comment">// Property [ <default> public $property ]</span>
</code></pre>
<h2 id="reflectiontype">ReflectionType</h2>
<h3 id="reflectiontypeallowsnull">ReflectionType::allowsNull</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">allowsNull</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">// bool(false)</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">></span><span class="token function">getType</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">allowsNull</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">// bool(false)</span>
</code></pre>
<h3 id="reflectiontypeisbuiltin">ReflectionType::isBuiltin</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Just a test function.
*
* @param string $string
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span>string <span class="token variable">$string</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Just a test function.
*
* @param Exception $exception
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span>Exception <span class="token variable">$exception</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">//</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">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'foo'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'string'</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">></span><span class="token function">getType</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isBuiltin</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">// bool(true)</span>
<span class="token variable">$bar</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionParameter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'bar'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'exception'</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 operator">-</span><span class="token operator">></span><span class="token function">getType</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">isBuiltin</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">// bool(false)</span>
</code></pre>
<h2 id="reflectiongenerator">ReflectionGenerator</h2>
<h3 id="reflectiongeneratorconstruct">ReflectionGenerator::__construct</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</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">new</span> <span class="token class-name">ReflectionGenerator</span><span class="token punctuation">(</span><span class="token function">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 punctuation">;</span> <span class="token comment">// object(ReflectionGenerator)#1 (0) { }</span>
</code></pre>
<h3 id="reflectiongeneratorgetexecutingfile">ReflectionGenerator::getExecutingFile</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</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">ReflectionGenerator</span><span class="token punctuation">(</span><span class="token function">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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getExecutingFile</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre>
<h3 id="reflectiongeneratorgetexecutinggenerator">ReflectionGenerator::getExecutingGenerator</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</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">ReflectionGenerator</span><span class="token punctuation">(</span><span class="token function">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 variable">$foo</span> <span class="token operator">=</span> <span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getExecutingGenerator</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(Generator)#2 (0) { }</span>
<span class="token keyword">foreach</span> <span class="token punctuation">(</span><span class="token variable">$foo</span> <span class="token keyword">as</span> <span class="token variable">$value</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">$value</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// int(1)</span>
</code></pre>
<h3 id="reflectiongeneratorgetexecutingline">ReflectionGenerator::getExecutingLine</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</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">ReflectionGenerator</span><span class="token punctuation">(</span><span class="token function">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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getExecutingLine</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">// int(11)</span>
</code></pre>
<h3 id="reflectiongeneratorgetfunction">ReflectionGenerator::getFunction</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</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">ReflectionGenerator</span><span class="token punctuation">(</span><span class="token function">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 function">var_dump</span><span class="token punctuation">(</span><span class="token variable">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getFunction</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">// object(ReflectionFunction)#3 (1) { ["name"]=> string(3) "foo" }</span>
</code></pre>
<h3 id="reflectiongeneratorgetthis">ReflectionGenerator::getThis</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">class</span> <span class="token class-name">Foo</span>
<span class="token punctuation">{</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">method</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</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">ReflectionGenerator</span><span class="token punctuation">(</span><span class="token punctuation">(</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 operator">-</span><span class="token operator">></span><span class="token function">method</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">$foo</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getThis</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">// object(Foo)#2 (0) { }</span>
</code></pre>
<h3 id="reflectiongeneratorgettrace">ReflectionGenerator::getTrace</h3>
<pre class="language-"><code class="lang-php"><span class="token delimiter important"><?php</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> <span class="token number">1</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> from <span class="token function">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">/**
* Yielding test value.
*
* @param void
* @return void
*/</span>
<span class="token keyword">function</span> <span class="token function">baz</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">yield</span> from <span class="token function">bar</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">$baz</span> <span class="token operator">=</span> <span class="token function">baz</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">valid</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$baz</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ReflectionGenerator</span><span class="token punctuation">(</span><span class="token variable">$baz</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">$baz</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">getTrace</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</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="变量.html" class="navigation navigation-next " aria-label="Next page: 变量">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"反射","level":"1.1.2.15.6","depth":4,"next":{"title":"变量","level":"1.1.2.15.7","depth":4,"path":"docs/函数参考/变量与类型相关扩展/变量.md","ref":"docs/函数参考/变量与类型相关扩展/变量.md","articles":[]},"previous":{"title":"函数处理","level":"1.1.2.15.5","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-03T08:52:03.501Z","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>