# The ReflectionProperty class

&reftitle.intro;

The `ReflectionProperty` class reports information about class properties.

&reftitle.classsynopsis;

         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;

&reftitle.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.

&reftitle.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.

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.

&reftitle.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.

&reference.reflection.entities.reflectionproperty;