PHP Conference Japan 2024

La classe ReflectionExtension

(PHP 5, PHP 7, PHP 8)

Introduction

La classe ReflectionExtension rapporte des informations sur une extension.

Synopsis de la classe

class ReflectionExtension implements Reflector {
/* Propriétés */
public string $name;
/* Méthodes */
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
}

Propriétés

name

Nom de l'extension, identique à l'appel de la méthode ReflectionExtension::getName()

Historique

Version Description
8.0.0 ReflectionExtension::export() a été supprimé.

Sommaire

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