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\Type\ObjectShapePropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Rules\Properties\FoundPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Rules\RestrictedUsage\RewrittenDeclaringClassPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Annotations\AnnotationPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\SimpleXMLElementProperty implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\EnumPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\UniversalObjectCrateProperty implements ExtendedPropertyReflection
    • PHPStan\Reflection\WrappedExtendedPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Type\IntersectionTypePropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Php\PhpPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Type\UnionTypePropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\Dummy\DummyPropertyReflection implements ExtendedPropertyReflection
    • PHPStan\Reflection\WrapperPropertyReflection extends ExtendedPropertyReflection
      • PHPStan\Reflection\ResolvedPropertyReflection implements WrapperPropertyReflection
      • PHPStan\Reflection\Dummy\ChangedTypePropertyReflection 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()