PHP 8.4.0 RC2 available for testing

The ReflectionExtension class

(PHP 5, PHP 7, PHP 8)

Introduction

The ReflectionExtension class reports information about an extension.

Class synopsis

class ReflectionExtension implements Reflector {
/* Properties */
public string $name;
/* Methods */
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
}

Properties

name

Name of the extension, same as calling the ReflectionExtension::getName() method.

Changelog

Version Description
8.0.0 ReflectionExtension::export() was removed.

Table of Contents

add a note

User Contributed Notes 2 notes

up
3
Lubaev.K
11 years ago
<?php
// The demonstration for the class "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%
)
*/
up
1
Anonymous
8 years ago
<?php
// Create an instance of the ReflectionProperty class
$ext= new ReflectionExtension('standard');

// Print out basic information
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