Interface PHPStan\Reflection\ExtendedPropertyReflection

extends PropertyReflection

Extended property reflection with additional metadata beyond PropertyReflection. This interface exists to allow PHPStan to add new property query methods in minor versions without breaking existing PropertiesClassReflectionExtension implementations. Extension developers should implement PropertyReflection, not this interface — PHPStan wraps PropertyReflection implementations to provide ExtendedPropertyReflection. Provides access to:

  • Separate PHPDoc type vs native type (for resolving the effective type)
  • Property hooks (PHP 8.4+) — get/set hooks with their own method reflections
  • Asymmetric visibility (PHP 8.4+) — different read/write visibility
  • Abstract/final/virtual modifiers
  • PHP attributes This is the return type of Type::getProperty(), Type::getInstanceProperty(), and Type::getStaticProperty().
  • PHPStan\Reflection\ExtendedPropertyReflection extends PropertyReflection
    • PHPStan\Rules\RestrictedUsage\RewrittenDeclaringClassPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Rules\Properties\FoundPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\SimpleXMLElementProperty implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\PhpPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Annotations\AnnotationPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\EnumPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\WrappedExtendedPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Type\UnionTypePropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Type\IntersectionTypePropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\UniversalObjectCrateProperty implements ExtendedPropertyReflection
    • PHPStan\Reflection\Dummy\DummyPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Type\ObjectShapePropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\WrapperPropertyReflection extends ExtendedPropertyReflection
      • PHPStan\Reflection\Dummy\ChangedTypePropertyReflection implements WrapperPropertyReflection
      • PHPStan\Reflection\ResolvedPropertyReflection implements WrapperPropertyReflection
Methods
Methods inherited from PHPStan\Reflection\PropertyReflection
getReadableType(), getWritableType(), canChangeTypeAfterAssignment(), isReadable(), isWritable(), isDeprecated(), getDeprecatedDescription(), isInternal()
Methods inherited from PHPStan\Reflection\ClassMemberReflection
getDeclaringClass(), isStatic(), isPrivate(), isPublic(), getDocComment()