The ReflectionProperty class
(PHP 5, PHP 7, PHP 8)
Introduction
The ReflectionProperty class reports information about class properties.
Class synopsis
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_STATICintIndicates static properties. Prior to PHP 7.4.0, the value was
1.ReflectionProperty::IS_READONLYintIndicates readonly properties. Available as of PHP 8.1.0.
ReflectionProperty::IS_PUBLICintIndicates public properties. Prior to PHP 7.4.0, the value was
256.ReflectionProperty::IS_PROTECTEDintIndicates protected properties. Prior to PHP 7.4.0, the value was
512.ReflectionProperty::IS_PRIVATEintIndicates 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
| 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
- ReflectionProperty::__clone — Clone
- ReflectionProperty::__construct — Construct a ReflectionProperty object
- 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::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
- ReflectionProperty::__toString — To string