php8.5
Home/ Manual/ reference / reflection/ The ReflectionProperty class

The ReflectionProperty class

The ReflectionProperty class reports information about class properties.

Intro

The ReflectionProperty class reports information about class properties.

Class synopsis

class ReflectionProperty implements Reflector { }

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_STATICint

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

ReflectionProperty::IS_READONLYint

Indicates readonly properties. Available as of PHP 8.1.0.

ReflectionProperty::IS_PUBLICint

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

ReflectionProperty::IS_PROTECTEDint

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

ReflectionProperty::IS_PRIVATEint

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

ReflectionProperty::IS_ABSTRACTint

Indicates the property is abstract. Available as of PHP 8.4.0.

ReflectionProperty::IS_PROTECTED_SETint

Available as of PHP 8.4.0.

ReflectionProperty::IS_PRIVATE_SETint

Available as of PHP 8.4.0.

ReflectionProperty::IS_VIRTUALint

Available as of PHP 8.4.0.

ReflectionProperty::IS_FINALint

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

VersionDescription
8.4.0The class constants are now typed.
8.4.0Added ReflectionProperty::IS_VIRTUAL, ReflectionProperty::IS_PRIVATE_SET, ReflectionProperty::IS_PROTECTED_SET, ReflectionProperty::IS_ABSTRACT, and ReflectionProperty::IS_FINAL.
8.0.0ReflectionProperty::export was removed.

Reflectionproperty

In this section

ReflectionProperty::__clone

Clone

ReflectionProperty::__construct

Construct a ReflectionProperty object

ReflectionProperty::__toString

To string

ReflectionProperty::export

Export

ReflectionProperty::getAttributes

Gets Attributes

ReflectionProperty::getDeclaringClass

Gets declaring class

ReflectionProperty::getDefaultValue

Returns the default value declared for a property

ReflectionProperty::getDocComment

Gets the property doc comment

ReflectionProperty::getHook

Returns a reflection object for a specified hook

ReflectionProperty::getHooks

Returns an array of all hooks on this property

ReflectionProperty::getMangledName

Gets the mangled name of the property

ReflectionProperty::getModifiers

Gets the property modifiers

ReflectionProperty::getName

Gets property name

ReflectionProperty::getRawValue

Returns the value of a property, bypassing a get hook if defined

ReflectionProperty::getSettableType

Returns the parameter type of a setter hook

ReflectionProperty::getType

Gets a property's type

ReflectionProperty::getValue

Gets value

ReflectionProperty::hasDefaultValue

Checks if property has a default value declared

ReflectionProperty::hasHook

Returns whether the property has a given hook defined

ReflectionProperty::hasHooks

Returns whether the property has any hooks defined

ReflectionProperty::hasType

Checks if property has a type

ReflectionProperty::isAbstract

Determines if a property is abstract

ReflectionProperty::isDefault

Checks if property is a default property

ReflectionProperty::isDynamic

Checks if property is a dynamic property

ReflectionProperty::isFinal

Determines if this property is final or not

ReflectionProperty::isInitialized

Checks whether a property is initialized

ReflectionProperty::isLazy

Checks whether a property is lazy

ReflectionProperty::isPrivate

Checks if property is private

ReflectionProperty::isPrivateSet

Checks if property is private for writing

ReflectionProperty::isPromoted

Checks if property is promoted

ReflectionProperty::isProtected

Checks if property is protected

ReflectionProperty::isProtectedSet

Checks whether the property is protected for writing

ReflectionProperty::isPublic

Checks if property is public

ReflectionProperty::isReadOnly

Checks if property is readonly

ReflectionProperty::isStatic

Checks if property is static

ReflectionProperty::isVirtual

Determines if a property is virtual

ReflectionProperty::setAccessible

Set property accessibility

ReflectionProperty::setRawValue

Sets the value of a property, bypassing a set hook if defined

ReflectionProperty::setRawValueWithoutLazyInitialization

Set raw property value without triggering lazy initialization

ReflectionProperty::setValue

Set property value

ReflectionProperty::skipLazyInitialization

Marks property as non-lazy

Source: reference/reflection/reflectionproperty.xml · from the official PHP manual (php/doc-en)