The ReflectionProperty class

Introduction

The ReflectionProperty class reports information about class properties.

Class synopsis

ReflectionProperty
implements Reflector
/* Constants */
public const int ReflectionProperty::IS_STATIC;
public const int ReflectionProperty::IS_READONLY;
public const int ReflectionProperty::IS_PUBLIC;
public const int ReflectionProperty::IS_PROTECTED;
public const int ReflectionProperty::IS_PRIVATE;
public const int ReflectionProperty::IS_ABSTRACT;
public const int ReflectionProperty::IS_PROTECTED_SET;
public const int ReflectionProperty::IS_PRIVATE_SET;
public const int ReflectionProperty::IS_VIRTUAL;
public const int ReflectionProperty::IS_FINAL;
/* Properties */
public string $name;
public string $class;
/* Methods */
public __construct(objectstring $class, string $property)
private void __clone()
public static string export(mixed $class, string $name, bool $return = ?)
public array getAttributes(stringnull $name = null, int $flags = 0)
public ReflectionClass getDeclaringClass()
public mixed getDefaultValue()
public stringfalse getDocComment()
public int getModifiers()
public string getName()
public ReflectionTypenull getType()
public mixed getValue(objectnull $object = null)
public bool hasDefaultValue()
public bool hasType()
public bool isDefault()
public bool isDynamic()
public bool isInitialized(objectnull $object = null)
public bool isLazy(object $object)
public bool isPrivate()
public bool isPromoted()
public bool isProtected()
public bool isPublic()
public bool isReadOnly()
public bool isStatic()
public void setAccessible(bool $accessible)
public void setRawValueWithoutLazyInitialization(object $object, mixed $value)
public void setValue(object $object, mixed $value)
public void skipLazyInitialization(object $object)
public string __toString()

Properties

name

Name of the property. Read-only, throws ReflectionException in attempt to write.

class

Name of the class where the property is defined. Read-only, throws ReflectionException in attempt to write.

Predefined Constants

ReflectionProperty Modifiers

ReflectionProperty::IS_STATIC int

Indicates static properties. Prior to PHP 7.4.0, the value was 1.

ReflectionProperty::IS_READONLY int

Indicates readonly properties. Available as of PHP 8.1.0.

ReflectionProperty::IS_PUBLIC int

Indicates public properties. Prior to PHP 7.4.0, the value was 256.

ReflectionProperty::IS_PROTECTED int

Indicates protected properties. Prior to PHP 7.4.0, the value was 512.

ReflectionProperty::IS_PRIVATE int

Indicates private properties. Prior to PHP 7.4.0, the value was 1024.

ReflectionProperty::IS_ABSTRACT int
Indicates the property is abstract. Available as of PHP 8.4.0.
ReflectionProperty::IS_PROTECTED_SET int
Available as of PHP 8.4.0.
ReflectionProperty::IS_PRIVATE_SET int
Available as of PHP 8.4.0.
ReflectionProperty::IS_VIRTUAL int
Available as of PHP 8.4.0.
ReflectionProperty::IS_FINAL int
Indicates the property is final. Available as of PHP 8.4.0.

Note:

The values of these constants may change between PHP versions. It is recommended to always use the constants and not rely on the values directly.

Changelog

Version Description
8.4.0 The class constants are now typed.
8.4.0 Added ReflectionProperty::IS_VIRTUAL, ReflectionProperty::IS_PRIVATE_SET, ReflectionProperty::IS_PROTECTED_SET, ReflectionProperty::IS_ABSTRACT, and ReflectionProperty::IS_FINAL.
8.0.0 ReflectionProperty::export was removed.
Table of Contents