ReflectionExtension 类

(PHP 5, PHP 7, PHP 8)

简介

ReflectionExtension 类报告有关扩展的信息。

类概要

class ReflectionExtension implements Reflector {
/* 属性 */
public string $name;
/* 方法 */
public __construct(string $name)
private __clone(): void
public static export(string $name, string $return = false): string
public getClasses(): array
public getName(): string
public info(): void
public isPersistent(): bool
public isTemporary(): bool
public __toString(): string
}

属性

name

扩展的名称,与调用 ReflectionExtension::getName() 方法相同。

变更日志

版本 描述
8.0.0 ReflectionExtension::export() 已移除。

目录

添加注释

用户贡献的注释 2 条注释

Lubaev.K
11 年前
<?php
// "ReflectionExtension" 类的演示。

function REData(ReflectionExtension $re, $return=false) {

defined('UNDEFINED') || define('UNDEFINED','%undefined%');
$_data = [];

$_data['getName:'] = $re->getName() ?: UNDEFINED;
$_data['getVersion:'] = $re->getVersion() ?: UNDEFINED;
$_data['info:'] = $re->info() ?: UNDEFINED;
$_data['getClassName:'] = PHP_EOL.implode(", ",$re->getClassNames()) ?: UNDEFINED;
foreach (
$re->getConstants() as $key => $value) $_data['getConstants:'] .= "\n{$key}:={$value}";
$_data['getDependencies:'] = $re->getDependencies() ?: UNDEFINED;
$_data['getFunctions:'] = PHP_EOL.implode(", ",array_keys($re->getFunctions())) ?: UNDEFINED;
$_data['getINIEntries:'] = $re->getINIEntries() ?: UNDEFINED;
$_data['isPersistent:'] = $re->isPersistent() ?: UNDEFINED;
$_data['isTemporary:'] = $re->isTemporary() ?: UNDEFINED;

return
print_r($_data, $return);
}

REData( new ReflectionExtension( 'Reflection' ) );
REData( new ReflectionExtension( 'zlib' ) );

// Reflection
// Reflection => enabled
// Version => $Id: 60f1e547a6dd00239162151e701566debdcee660 $
/*
Array
(
[getName:] => Reflection
[getVersion:] => $Id: 60f1e547a6dd00239162151e701566debdcee660 $
[info:] => %undefined%
[getClassName:] =>
ReflectionException, Reflection, Reflector, ReflectionFunctionAbstract, Reflecti
onFunction, ReflectionParameter, ReflectionMethod, ReflectionClass, ReflectionOb
ject, ReflectionProperty, ReflectionExtension, ReflectionZendExtension
[getDependencies:] => %undefined%
[getFunctions:] =>

[getINIEntries:] => %undefined%
[isPersistent:] => 1
[isTemporary:] => %undefined%
)
*/
// zlib
// ZLib Support => enabled
// Stream Wrapper => compress.zlib://
// Stream Filter => zlib.inflate, zlib.deflate
// Compiled Version => 1.2.7
// Linked Version => 1.2.7
// Directive => Local Value => Master Value
// zlib.output_compression => Off => Off
// zlib.output_compression_level => -1 => -1
// zlib.output_handler => no value => no value
/*
Array
(
[getName:] => zlib
[getVersion:] => 2.0
[info:] => %undefined%
[getClassName:] =>

[getConstants:] =>
FORCE_GZIP:=31
FORCE_DEFLATE:=15
ZLIB_ENCODING_RAW:=-15
ZLIB_ENCODING_GZIP:=31
ZLIB_ENCODING_DEFLATE:=15
[getDependencies:] => %undefined%
[getFunctions:] =>
readgzfile, gzrewind, gzclose, gzeof, gzgetc, gzgets, gzgetss, gzread, gzopen, g
zpassthru, gzseek, gztell, gzwrite, gzputs, gzfile, gzcompress, gzuncompress, gz
deflate, gzinflate, gzencode, gzdecode, zlib_encode, zlib_decode, zlib_get_codin
g_type, ob_gzhandler
[getINIEntries:] => Array
(
[zlib.output_compression] =>
[zlib.output_compression_level] => -1
[zlib.output_handler] =>
)

[isPersistent:] => 1
[isTemporary:] => %undefined%
)
*/
Anonymous
8 years ago
<?php
// 创建 ReflectionProperty 类的实例
$ext= new ReflectionExtension('standard');

// 打印基本信息
printf(
"Name : %s\n".
"Version : %s\n".
"Functions : [%d] %s\n".
"Constants : [%d] %s\n".
"INI entries : [%d] %s\n",
$ext->getName(),
$ext->getVersion() ? $ext->getVersion() : 'NO_VERSION',
sizeof($ext->getFunctions()),
var_export($ext->getFunctions(), 1),
sizeof($ext->getConstants()),
var_export($ext->getConstants(), 1),
sizeof($ext->getINIEntries()),
var_export($ext->getINIEntries(), 1)
);
?>
To Top