PHP.mk документација

ReflectionClass

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.reflectionclass.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека class.reflectionclass.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
ReflectionClass

Референца за `class.reflectionclass.php` со подобрена типографија и навигација.

class.reflectionclass.php

Класата ReflectionClass

класата mysqli_driver

Вовед

На ReflectionClass класата известува информации за класа.

Синопсис на класата

class ReflectionClass implements Рефлектор {
/* Константи */
public const int IS_IMPLICIT_ABSTRACT;
public const int IS_FINAL;
public const int IS_READONLY;
public const int SKIP_DESTRUCTOR;
/* Својства */
public string $name;
/* Методи */
public function __construct(object|string $objectOrClass)
public static function export(mixed $argument, bool $return = false): string
public function getAttributes(?string $name = null, int $flags = 0): array
public function getConstant(string $name): 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 $name): ReflectionMethod
public function getMethods(?int $filter = null): array
public function getModifiers(): int
public function getName(): string
public function getNamespaceName(): string
public function getProperties(?int $filter = null): array
public function getProperty(string $name): 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 $name, mixed &$def_value = ?): mixed
public function getTraitAliases(): array
public function getTraitNames(): array
public function getTraits(): array
public function hasConstant(string $name): bool
public function hasMethod(string $name): bool
public function hasProperty(string $name): 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(object $object): 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 ...$args): object
public function newInstanceArgs(array $args = []): ?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 $name, mixed $value): void
public function __toString(): string
}

Својства

name

Име на класата. Само за читање, фрла ReflectionException при обид за пишување.

Претходно дефинирани константи

Модификатори на ReflectionClass

ReflectionClass::IS_IMPLICIT_ABSTRACT int

Индицира дека класата е abstract бидејќи има некои апстрактни методи.

ReflectionClass::IS_EXPLICIT_ABSTRACT int

Индицира дека класата е abstract поради нејзината дефиниција.

ReflectionClass::IS_FINAL int

Индицира дека класата е final.

ReflectionClass::IS_READONLY int

Индицира дека класата е readonly.

ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE int
Индицира дека serialize() не треба да предизвика иницијализација на мрзлив објект.
ReflectionClass::SKIP_DESTRUCTOR int
Индицира дека деструкторот на објектот не треба да се повика при ресетирање како мрзлив.

Дневник на промени

Верзија = NULL
8.4.0 Константите на класата сега се типизирани.
8.0.0 (PHP 5, PHP 7) Враќа ODBC резултат објект ако SQL командата беше успешно извршена, или

Содржина

Белешки од корисници 4 белешки

danbettles на yahoo точка co точка uk
пред 17 години
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');
?>
Анонимен
пред 14 години
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
?>
Анонимен
пред 13 години
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

?>
featherbits
пред 5 години
In order to get class attributes look here (php8)
https://www.php.net/manual/en/language.attributes.reflection.php
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.