Updated PHP Windows builds for Brotli security fix

ReflectionClass Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionClass sınıfı bir sınıf hakkında bilgi edinilmesini sağlar.

Sınıf Sözdizimi

class ReflectionClass implements Reflector {
/* Sabitler */
public const int IS_IMPLICIT_ABSTRACT;
public const int IS_FINAL;
public const int IS_READONLY;
/* Özellikler */
public string $name;
/* Yöntemler */
public function __construct(object|string $objectOrClass)
public static function export(mixed $bağımsız_değişken, bool $return = false): string
public function getAttributes(?string $name = null, int $flags = 0): array
public function getConstant(string $isim): mixed
public function getConstants(?int $filter = null): array
public function getDefaultProperties(): array
public function getDocComment(): string|false
public function getEndLine(): int|false
public function getExtensionName(): string|false
public function getFileName(): string|false
public function getInterfaceNames(): array
public function getInterfaces(): array
public function getLazyInitializer(object $object): ?callable
public function getMethod(string $isim): ReflectionMethod
public function getMethods(?int $süzgeç = null): array
public function getModifiers(): int
public function getName(): string
public function getNamespaceName(): string
public function getProperties(?int $süzgeç = null): array
public function getProperty(string $isim): ReflectionProperty
public function getReflectionConstants(?int $filter = null): array
public function getShortName(): string
public function getStartLine(): int|false
public function getStaticProperties(): array
public function getStaticPropertyValue(string $isim, mixed &$öntanımlı = ?): mixed
public function getTraitAliases(): array
public function getTraitNames(): array
public function getTraits(): array
public function hasConstant(string $isim): bool
public function hasMethod(string $isim): bool
public function hasProperty(string $isim): bool
public function implementsInterface(ReflectionClass|string $interface): bool
public function initializeLazyObject(object $object): object
public function inNamespace(): bool
public function isAbstract(): bool
public function isAnonymous(): bool
public function isCloneable(): bool
public function isEnum(): bool
public function isFinal(): bool
public function isInstance(string $nesne): bool
public function isInstantiable(): bool
public function isInterface(): bool
public function isInternal(): bool
public function isIterable(): bool
public function isReadOnly(): bool
public function isSubclassOf(ReflectionClass|string $class): bool
public function isTrait(): bool
public function isUninitializedLazyObject(object $object): bool
public function isUserDefined(): bool
public function markLazyObjectAsInitialized(object $object): object
public function newInstance(mixed $bağımsız_değişkenler): object
public function newInstanceArgs(array $bağımsız_değişkenler = []): ?object
public function newLazyGhost(callable $initializer, int $options = 0): object
public function newLazyProxy(callable $factory, int $options = 0): object
public function resetAsLazyGhost(object $object, callable $initializer, int $options = 0): void
public function resetAsLazyProxy(object $object, callable $factory, int $options = 0): void
public function setStaticPropertyValue(string $isim, mixed $değer): void
public function __toString(): string
}

Özellikler

name

Sınıfın ismi. Salt-okunur olup, yazılmaya çalışılırsa ReflectionException istisnası oluşur.

Öntanımlı Sabitler

ReflectionClass Değiştiricileri

ReflectionClass::IS_IMPLICIT_ABSTRACT

Bazı soyut yöntemler içerdiğinden sınıfın soyut olduğunu belirtir.

ReflectionClass::IS_EXPLICIT_ABSTRACT

Sınıfın tanımından dolayı soyut olduğunu belirtir.

ReflectionClass::IS_FINAL

Sınıfın bir final sınıf olduğunu belirtir.

ReflectionClass::IS_READONLY

Sınıfın salt okunur olduğunu belirtir.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 ReflectionClass::export() kaldırıldı.

İçindekiler

+add a note

User Contributed Notes 4 notes

up
42
danbettles at yahoo dot co dot uk
17 years ago
To reflect on a namespaced class in PHP 5.3, you must always specify the fully qualified name of the class - even if you've aliased the containing namespace using a "use" statement.

So instead of:

<?php
use App\Core as Core;
$oReflectionClass = new ReflectionClass('Core\Singleton');
?>

You would type:

<?php
use App\Core as Core;
$oReflectionClass = new ReflectionClass('App\Core\Singleton');
?>
up
22
Anonymous
13 years ago
Reflecting an alias will give you a reflection of the resolved class.

<?php

class X {
    
}

class_alias('X','Y');
class_alias('Y','Z');
$z = new ReflectionClass('Z');
echo $z->getName(); // X

?>
up
25
Anonymous
14 years ago
Unserialized reflection class cause error.

<?php
/**
 * abc
 */
class a{}

$ref = new ReflectionClass('a');
$ref = unserialize(serialize($ref));
var_dump($ref);
var_dump($ref->getDocComment());

// object(ReflectionClass)#2 (1) {
//   ["name"]=>
//   string(1) "a"
// }
// PHP Fatal error:  ReflectionClass::getDocComment(): Internal error: Failed to retrieve the reflection object
?>
up
5
featherbits
5 years ago
In order to get class attributes look here (php8)
https://www.php.net/manual/en/language.attributes.reflection.php
To Top