{"$schema":"https://yii2-framework.github.io/docs/reference/reference.schema.json","schemaVersion":1,"package":"phpstan","title":"PHPStan","repository":"https://github.com/yii2-extensions/phpstan","ref":"main","commit":"94504ad1b50bdfb4e5c470e898b6719140faee70","generatedAt":"2026-10-18","url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/","types":{"yii2\\extensions\\phpstan\\ParamsTypeBuilder":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/paramstypebuilder/","summary":"Builds the PHPStan array shape type of Yii application params from their configured values.","methods":{"build":{"signature":"public static function build(array<array-key, mixed> $params): PHPStan\\Type\\Type","summary":"Builds the array shape type for the given params.","params":[{"name":"$params","type":"array<array-key, mixed>","description":"Configured params, as returned by `yii2\\extensions\\phpstan\\ServiceMap::getParams()`."}],"return":{"type":"PHPStan\\Type\\Type","description":"Array shape type, or `array<mixed, mixed>` for an empty array."},"static":true}}},"yii2\\extensions\\phpstan\\PropertyTagTypeResolver":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/propertytagtyperesolver/","summary":"Resolves the readable types of the class-level `@property` tags that a class declares or inherits.","methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\Annotations\\AnnotationsPropertiesClassReflectionExtension $annotationsProperties, PHPStan\\Reflection\\ReflectionProvider $reflectionProvider)","summary":"Initializes property annotation resolution and framework-class lookups.","params":[{"name":"$annotationsProperties","type":"PHPStan\\Reflection\\Annotations\\AnnotationsPropertiesClassReflectionExtension","description":"PHPStan extension used to resolve the template types of a tag against its declaring class."},{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider used to collect the framework classes to skip."}]},"getReadableTags":{"signature":"public function getReadableTags(PHPStan\\Reflection\\ClassReflection $classReflection): array<string, array{type: PHPStan\\Type\\Type, writable: bool}>","summary":"Returns the readable type and the writability of all `@property` tags declared or inherited by the class.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class whose tags are read."}],"return":{"type":"array<string, array{type: PHPStan\\Type\\Type, writable: bool}>","description":"Readable property type and writability indexed by property name, nearest declarations first."}},"getReadableType":{"signature":"public function getReadableType(PHPStan\\Reflection\\ClassReflection $classReflection, string $propertyName): PHPStan\\Type\\Type|null","summary":"Returns the readable type of a single `@property` tag declared or inherited by the class.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class whose tags are read."},{"name":"$propertyName","type":"string","description":"Name of the property to resolve."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Readable property type, or `null` when no tag declares the property or the nearest one is write-only."}}}},"yii2\\extensions\\phpstan\\ServiceMap":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/servicemap/","summary":"Maps and normalizes service and component definitions from Yii Application configuration for static analysis.","methods":{"__construct":{"signature":"public function __construct(string $configPath = '')","summary":"Creates a new instance of the `yii2\\extensions\\phpstan\\ServiceMap` class.","params":[{"name":"$configPath","type":"string","default":"''","optional":true,"description":"Path to the Yii Application configuration file (default: `''`). If provided, the configuration file must exist and be valid. If empty or not provided, operates with empty service/component maps."}],"throws":[{"type":"yii\\base\\InvalidArgumentException","description":"if one or more arguments are invalid, of incorrect type or format."},{"type":"RuntimeException","description":"if a runtime error prevents the operation from completing successfully."}]},"getApplicationType":{"signature":"public function getApplicationType(): string","summary":"Retrieves the fully qualified class name of the application type for PHPStan analysis.","return":{"type":"string","description":"Fully qualified class name of the application type."}},"getBehaviorsByClassName":{"signature":"public function getBehaviorsByClassName(string $class): string[]","summary":"Retrieves the behavior class names associated with the specified class.","params":[{"name":"$class","type":"string","description":"Fully qualified class name for which to retrieve behavior class names."}],"return":{"type":"string[]","description":"Array of behavior class names, or an empty array if none are defined."}},"getComponentClassById":{"signature":"public function getComponentClassById(string $id): string|null","summary":"Retrieves the fully qualified class name of a Yii Application component by its identifier.","params":[{"name":"$id","type":"string","description":"Component identifier to look up in the component map."}],"return":{"type":"string|null","description":"Fully qualified class name of the component, or `null` if not found."}},"getComponentDefinitionById":{"signature":"public function getComponentDefinitionById(string $id): array","summary":"Retrieves the component definition array by its identifier.","params":[{"name":"$id","type":"string","description":"Component identifier to look up in the component definitions map."}],"return":{"type":"array","description":"Component definition array with configuration options, or empty array if not found."}},"getParams":{"signature":"public function getParams(): array<array-key, mixed>","summary":"Retrieves the application params map for PHPStan type inference.","return":{"type":"array<array-key, mixed>","description":"Params key-value pairs from configuration."}},"getServiceById":{"signature":"public function getServiceById(string $id): string|null","summary":"Retrieves the fully qualified class name of a Yii Service by its identifier.","params":[{"name":"$id","type":"string","description":"Service identifier to look up in the service map."}],"return":{"type":"string|null","description":"Fully qualified class name of the service, or `null` if not found."}},"isComponentWithoutClass":{"signature":"public function isComponentWithoutClass(string $id): bool","summary":"Returns whether a component is defined by an array without a `class` or `__class` key.","params":[{"name":"$id","type":"string","description":"Component identifier to look up."}],"return":{"type":"bool","description":"`true` if the component is defined by an array without a class key; `false` otherwise."}},"isUnresolvedComponent":{"signature":"public function isUnresolvedComponent(string $id): bool","summary":"Returns whether a component is defined in the configuration but its class can't be determined.","params":[{"name":"$id","type":"string","description":"Component identifier to look up."}],"return":{"type":"bool","description":"`true` if the component is defined with an unknown class; `false` otherwise."}},"isUnresolvedService":{"signature":"public function isUnresolvedService(string $id): bool","summary":"Returns whether a container service is defined in the configuration but its class can't be determined.","params":[{"name":"$id","type":"string","description":"Service identifier to look up."}],"return":{"type":"bool","description":"`true` if the service is defined with an unknown class; `false` otherwise."}}}},"yii2\\extensions\\phpstan\\ServiceMapResultCacheValueExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/servicemapresultcachevalueextension/","summary":"Exposes the Yii configuration values that drive inferred types to the PHPStan result cache.","implements":["PHPStan\\Analyser\\ResultCache\\ResultCacheValueExtension"],"methods":{"__construct":{"signature":"public function __construct(yii2\\extensions\\phpstan\\ServiceMap $serviceMap, array<string, string> $genericComponents = [])","summary":"Initializes configuration value tracking with the configured generic component map.","params":[{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."},{"name":"$genericComponents","type":"array<string, string>","default":"[]","optional":true,"description":"Map of component id to the definition key holding its generic type argument (`yii2.component_generics`)."}]},"behaviorsKey":{"signature":"public static function behaviorsKey(string $className): string","summary":"Returns the key for the behaviors attached to the given class.","params":[{"name":"$className","type":"string","description":"Fully qualified class name the behaviors are configured for."}],"return":{"type":"string"},"static":true},"componentKey":{"signature":"public static function componentKey(string $id): string","summary":"Returns the key for the application component with the given id.","params":[{"name":"$id","type":"string","description":"Component id."}],"return":{"type":"string"},"static":true},"getValue":{"signature":"public function getValue(string $key): string","summary":"Returns the current configuration value for the given key.","params":[{"name":"$key","type":"string","description":"Key built by this class."}],"return":{"type":"string","description":"Value compared with the one recorded by the previous analysis."}},"keyFromResultCache":{"signature":"public function keyFromResultCache(string $storedKey): string","summary":"Returns the key unchanged, since keys hold ids and class names rather than file paths.","params":[{"name":"$storedKey","type":"string"}],"return":{"type":"string"}},"keyToResultCache":{"signature":"public function keyToResultCache(string $key): string","summary":"Returns the key unchanged, since keys hold ids and class names rather than file paths.","params":[{"name":"$key","type":"string"}],"return":{"type":"string"}},"serviceKey":{"signature":"public static function serviceKey(string $id): string","summary":"Returns the key for the DI container definition or singleton with the given id.","params":[{"name":"$id","type":"string","description":"Service id."}],"return":{"type":"string"},"static":true}},"constants":{"APPLICATION_KEY":{"value":"'application'","description":"Key of the configured application class."},"MISSING":{"value":"'missing'","description":"Value returned for keys whose id has no configuration entry."},"PARAMS_KEY":{"value":"'params'","description":"Key of the array shape inferred for the application params."},"UNRESOLVED":{"value":"'unresolved'","description":"Value returned for a component or service defined in the configuration whose class can't be determined."},"UNSUPPORTED":{"value":"'unsupported'","description":"Value returned for keys this class doesn't build, such as keys stored by another version of the extension."}}},"yii2\\extensions\\phpstan\\method\\BehaviorMethodsClassReflectionExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/method/behaviormethodsclassreflectionextension/","summary":"Resolves methods provided by behaviors attached to `yii\\base\\Component` subclasses for PHPStan analysis.","implements":["PHPStan\\Reflection\\MethodsClassReflectionExtension"],"methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\ReflectionProvider $reflectionProvider, yii2\\extensions\\phpstan\\ServiceMap $serviceMap, PHPStan\\Analyser\\DeclarationDependencyTracker $dependencyTracker)","summary":"Creates a new instance of the `yii2\\extensions\\phpstan\\method\\BehaviorMethodsClassReflectionExtension` class.","params":[{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider for class and property lookups."},{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."},{"name":"$dependencyTracker","type":"PHPStan\\Analyser\\DeclarationDependencyTracker","description":"Records the configuration values each class declaration depends on."}]},"getMethod":{"signature":"public function getMethod(PHPStan\\Reflection\\ClassReflection $classReflection, string $methodName): PHPStan\\Reflection\\MethodReflection","summary":"Retrieves the reflection of a method provided by a behavior attached to the given class.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class being analyzed."},{"name":"$methodName","type":"string","description":"Name of the method to resolve."}],"return":{"type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection instance for the resolved method."},"throws":[{"type":"PHPStan\\ShouldNotHappenException","description":"if no attached behavior provides the method."}]},"hasMethod":{"signature":"public function hasMethod(PHPStan\\Reflection\\ClassReflection $classReflection, string $methodName): bool","summary":"Determines whether the specified method exists on the given class, including methods provided by attached behaviors.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class being analyzed."},{"name":"$methodName","type":"string","description":"Name of the method to check for existence."}],"return":{"type":"bool","description":"`true` if the method exists on the class via an attached behavior; `false` otherwise."}}}},"yii2\\extensions\\phpstan\\property\\ApplicationPropertiesClassReflectionExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/property/applicationpropertiesclassreflectionextension/","summary":"Resolves dynamic component properties on the Yii Application instance for PHPStan analysis.","implements":["PHPStan\\Reflection\\PropertiesClassReflectionExtension"],"methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\Annotations\\AnnotationsPropertiesClassReflectionExtension $annotationsProperties, PHPStan\\Reflection\\ReflectionProvider $reflectionProvider, yii2\\extensions\\phpstan\\ServiceMap $serviceMap, PHPStan\\Analyser\\DeclarationDependencyTracker $dependencyTracker, string[] $genericComponents = [])","summary":"Creates a new instance of the `yii2\\extensions\\phpstan\\property\\ApplicationPropertiesClassReflectionExtension` class.","params":[{"name":"$annotationsProperties","type":"PHPStan\\Reflection\\Annotations\\AnnotationsPropertiesClassReflectionExtension","description":"Extension for handling annotation-based properties."},{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider for class and property lookups."},{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."},{"name":"$dependencyTracker","type":"PHPStan\\Analyser\\DeclarationDependencyTracker","description":"Records the configuration values each class declaration depends on."},{"name":"$genericComponents","type":"string[]","default":"[]","optional":true,"description":"Optional mapping of component property names to their generic type parameter keys in the component definition."}]},"getProperty":{"signature":"public function getProperty(PHPStan\\Reflection\\ClassReflection $classReflection, string $propertyName): PHPStan\\Reflection\\PropertyReflection","summary":"Retrieves the property reflection for a given property on the Yii Application class or its components.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class being analyzed."},{"name":"$propertyName","type":"string","description":"Name of the property to resolve."}],"return":{"type":"PHPStan\\Reflection\\PropertyReflection","description":"Property reflection instance for the specified property."},"throws":[{"type":"PHPStan\\ShouldNotHappenException","description":"if the property is neither native, a configured component, nor annotation-based."}]},"hasProperty":{"signature":"public function hasProperty(PHPStan\\Reflection\\ClassReflection $classReflection, string $propertyName): bool","summary":"Determines whether the specified property exists on the Yii Application class or its components.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class being analyzed."},{"name":"$propertyName","type":"string","description":"Name of the property to resolve."}],"return":{"type":"bool","description":"`true` if the property exists as a native, component, or annotated property; `false` otherwise."}}}},"yii2\\extensions\\phpstan\\property\\BehaviorPropertiesClassReflectionExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/property/behaviorpropertiesclassreflectionextension/","summary":"Resolves properties provided by behaviors attached to `yii\\base\\Component` subclasses for PHPStan analysis.","implements":["PHPStan\\Reflection\\PropertiesClassReflectionExtension"],"methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\ReflectionProvider $reflectionProvider, yii2\\extensions\\phpstan\\ServiceMap $serviceMap, PHPStan\\Analyser\\DeclarationDependencyTracker $dependencyTracker)","summary":"Creates a new instance of the `yii2\\extensions\\phpstan\\property\\BehaviorPropertiesClassReflectionExtension` class.","params":[{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider for class and property lookups."},{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."},{"name":"$dependencyTracker","type":"PHPStan\\Analyser\\DeclarationDependencyTracker","description":"Records the configuration values each class declaration depends on."}]},"getProperty":{"signature":"public function getProperty(PHPStan\\Reflection\\ClassReflection $classReflection, string $propertyName): PHPStan\\Reflection\\PropertyReflection","summary":"Retrieves the reflection of a property provided by a behavior attached to the given class.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class being analyzed."},{"name":"$propertyName","type":"string","description":"Name of the property to resolve."}],"return":{"type":"PHPStan\\Reflection\\PropertyReflection","description":"Reflection instance for the resolved property."},"throws":[{"type":"PHPStan\\ShouldNotHappenException","description":"if no attached behavior provides the property."}]},"hasProperty":{"signature":"public function hasProperty(PHPStan\\Reflection\\ClassReflection $classReflection, string $propertyName): bool","summary":"Determines whether the specified property exists on the given class, including properties provided by attached behaviors.","params":[{"name":"$classReflection","type":"PHPStan\\Reflection\\ClassReflection","description":"Reflection of the class being analyzed."},{"name":"$propertyName","type":"string","description":"Name of the property to resolve."}],"return":{"type":"bool","description":"`true` if the property exists on the class via an attached behavior; `false` otherwise."}}}},"yii2\\extensions\\phpstan\\reflection\\ComponentPropertyReflection":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/reflection/componentpropertyreflection/","summary":"Wraps a fallback `PHPStan\\Reflection\\PropertyReflection` to expose the resolved component type for dynamic Yii application components in PHPStan analysis.","implements":["PHPStan\\Reflection\\PropertyReflection"],"methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\PropertyReflection $fallbackProperty, PHPStan\\Type\\Type $type, PHPStan\\Reflection\\ClassReflection $declaringClass)","summary":"Creates a new instance of the `yii2\\extensions\\phpstan\\reflection\\ComponentPropertyReflection` class.","params":[{"name":"$fallbackProperty","type":"PHPStan\\Reflection\\PropertyReflection","description":"Fallback property reflection instance for delegation."},{"name":"$type","type":"PHPStan\\Type\\Type","description":"Type of the dynamic component as resolved by the service map or dependency injection."},{"name":"$declaringClass","type":"PHPStan\\Reflection\\ClassReflection","description":"Class reflection of the class declaring the dynamic property."}]},"canChangeTypeAfterAssignment":{"signature":"public function canChangeTypeAfterAssignment(): bool","summary":"Determines whether the type of the dynamic Yii application component property can change after assignment.","return":{"type":"bool","description":"`true` if the property type can change after assignment; `false` otherwise."}},"getDeclaringClass":{"signature":"public function getDeclaringClass(): PHPStan\\Reflection\\ClassReflection","summary":"Retrieves the declaring class reflection for the dynamic Yii application component property.","return":{"type":"PHPStan\\Reflection\\ClassReflection","description":"Declaring class reflection instance for the property."}},"getDeprecatedDescription":{"signature":"public function getDeprecatedDescription(): string|null","summary":"Retrieves the deprecation description for the dynamic Yii application component property, if available.","return":{"type":"string|null","description":"Deprecation description if available, or `null` if not deprecated or no description is set."}},"getDocComment":{"signature":"public function getDocComment(): string","summary":"Retrieves the PHPDoc comment for the dynamic Yii application component property, if available.","return":{"type":"string","description":"PHPDoc comment string for the property, or an empty string if no comment is set."}},"getReadableType":{"signature":"public function getReadableType(): PHPStan\\Type\\Type","summary":"Retrieves the readable type for the dynamic Yii application component property.","return":{"type":"PHPStan\\Type\\Type","description":"Type that can be read from the property for static analysis."}},"getWritableType":{"signature":"public function getWritableType(): PHPStan\\Type\\Type","summary":"Retrieves the writable type for the dynamic Yii application component property.","return":{"type":"PHPStan\\Type\\Type","description":"Type that can be written to the property for static analysis."}},"isDeprecated":{"signature":"public function isDeprecated(): PHPStan\\TrinaryLogic","summary":"Determines whether the dynamic Yii application component property is deprecated.","return":{"type":"PHPStan\\TrinaryLogic","description":"Deprecation status of the property as a `PHPStan\\TrinaryLogic` value."}},"isInternal":{"signature":"public function isInternal(): PHPStan\\TrinaryLogic","summary":"Determines whether the dynamic Yii application component property is internal to the library or framework.","return":{"type":"PHPStan\\TrinaryLogic","description":"Internal status of the property as a `PHPStan\\TrinaryLogic` value."}},"isPrivate":{"signature":"public function isPrivate(): bool","summary":"Determines whether the dynamic Yii application component property is private.","return":{"type":"bool","description":"`true` if the property is private; `false` otherwise."}},"isPublic":{"signature":"public function isPublic(): bool","summary":"Determines whether the dynamic Yii application component property is public.","return":{"type":"bool","description":"`true` if the property is public; `false` otherwise."}},"isReadable":{"signature":"public function isReadable(): bool","summary":"Determines whether the dynamic Yii application component property is readable.","return":{"type":"bool","description":"`true` if the property is readable; `false` otherwise."}},"isStatic":{"signature":"public function isStatic(): bool","summary":"Determines whether the dynamic Yii application component property is static.","return":{"type":"bool","description":"`true` if the property is static; `false` otherwise."}},"isWritable":{"signature":"public function isWritable(): bool","summary":"Determines whether the dynamic Yii application component property is writable.","return":{"type":"bool","description":"`true` if the property is writable; `false` otherwise."}}}},"yii2\\extensions\\phpstan\\type\\ActiveQueryDynamicMethodReturnTypeExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/activequerydynamicmethodreturntypeextension/","summary":"Infers the row array shape of `yii\\db\\ActiveQuery::asArray()` queries from the model's class-level `@property` tags.","implements":["PHPStan\\Type\\DynamicMethodReturnTypeExtension"],"methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\ReflectionProvider $reflectionProvider, yii2\\extensions\\phpstan\\PropertyTagTypeResolver $propertyTagTypeResolver)","summary":"Initializes model reflection and property-tag resolution for query inference.","params":[{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider for query and model class lookups."},{"name":"$propertyTagTypeResolver","type":"yii2\\extensions\\phpstan\\PropertyTagTypeResolver","description":"Resolver of the model's declared and inherited `@property` tags."}]},"getClass":{"signature":"public function getClass(): string","summary":"Returns the Yii Active Query class supported by this extension.","return":{"type":"string"}},"getTypeFromMethodCall":{"signature":"public function getTypeFromMethodCall(PHPStan\\Reflection\\MethodReflection $methodReflection, PhpParser\\Node\\Expr\\MethodCall $methodCall, PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type|null","summary":"Resolves the query type returned by `yii\\db\\ActiveQuery::asArray()` from the receiver and the `$value` argument.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection of the called `asArray()`, `one()`, `all()`, `batch()`, or `each()` method."},{"name":"$methodCall","type":"PhpParser\\Node\\Expr\\MethodCall","description":"Method call with arguments already normalized by PHPStan."},{"name":"$scope","type":"PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope","description":"Current PHPStan analysis scope, recording a dependency on a derived model."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Inferred query, row, or batch query result type, or `null` to defer to PHPStan's answer when an `asArray()` argument is unpacked, no model is derived for `one()` and `all()`, the declared return type is equally precise or narrower, or `batch()` and `each()` already resolve."}},"isMethodSupported":{"signature":"public function isMethodSupported(PHPStan\\Reflection\\MethodReflection $methodReflection): bool","summary":"Returns whether the reflected method is `yii\\db\\ActiveQuery::asArray()`, `yii\\db\\ActiveQuery::one()`, `yii\\db\\ActiveQuery::all()`, `yii\\db\\ActiveQuery::batch()`, or `yii\\db\\ActiveQuery::each()`.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection"}],"return":{"type":"bool"}}}},"yii2\\extensions\\phpstan\\type\\ActiveRecordGetAttributeDynamicMethodReturnTypeExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/activerecordgetattributedynamicmethodreturntypeextension/","summary":"Infers return types for `yii\\db\\ActiveRecord::getAttribute()` calls in PHPStan analysis.","implements":["PHPStan\\Type\\DynamicMethodReturnTypeExtension"],"methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\ReflectionProvider $reflectionProvider, yii2\\extensions\\phpstan\\ServiceMap $serviceMap, yii2\\extensions\\phpstan\\PropertyTagTypeResolver $propertyTagTypeResolver)","summary":"Creates a new instance of the `yii2\\extensions\\phpstan\\type\\ActiveRecordGetAttributeDynamicMethodReturnTypeExtension` class.","params":[{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider for class and property lookups."},{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."},{"name":"$propertyTagTypeResolver","type":"yii2\\extensions\\phpstan\\PropertyTagTypeResolver","description":"Resolver of declared and inherited `@property` tags."}]},"getClass":{"signature":"public function getClass(): string","summary":"Returns the class name for which this dynamic method return type extension applies.","return":{"type":"string","description":"Fully qualified class name of the supported `yii\\db\\ActiveRecord` class."}},"getTypeFromMethodCall":{"signature":"public function getTypeFromMethodCall(PHPStan\\Reflection\\MethodReflection $methodReflection, PhpParser\\Node\\Expr\\MethodCall $methodCall, PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type","summary":"Infers the return type for `yii\\db\\ActiveRecord::getAttribute()` method calls.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection instance for the method being analyzed."},{"name":"$methodCall","type":"PhpParser\\Node\\Expr\\MethodCall","description":"AST node for the method call expression."},{"name":"$scope","type":"PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope","description":"PHPStan analysis scope for type resolution."}],"return":{"type":"PHPStan\\Type\\Type","description":"Inferred return type for the `yii\\db\\ActiveRecord::getAttribute()` call, or `PHPStan\\Type\\MixedType` if the attribute type can't be determined."}},"isMethodSupported":{"signature":"public function isMethodSupported(PHPStan\\Reflection\\MethodReflection $methodReflection): bool","summary":"Checks if the given method is supported for dynamic return type inference.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection instance for the method being analyzed."}],"return":{"type":"bool","description":"`true` if the method is `yii\\db\\ActiveRecord::getAttribute()`; `false` otherwise."}}}},"yii2\\extensions\\phpstan\\type\\ActiveRecordQueryDynamicStaticMethodReturnTypeExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/activerecordquerydynamicstaticmethodreturntypeextension/","summary":"Binds the rows of the `yii\\db\\ActiveQuery` returned by an `yii\\db\\ActiveRecord` static method to the called model.","implements":["PHPStan\\Type\\DynamicStaticMethodReturnTypeExtension"],"methods":{"getClass":{"signature":"public function getClass(): string","summary":"Returns the Yii Active Record class supported by this extension.","return":{"type":"string"}},"getTypeFromStaticMethodCall":{"signature":"public function getTypeFromStaticMethodCall(PHPStan\\Reflection\\MethodReflection $methodReflection, PhpParser\\Node\\Expr\\StaticCall $methodCall, PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type|null","summary":"Resolves the query type returned by a static method call with its rows bound to the called model.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection of the called static method."},{"name":"$methodCall","type":"PhpParser\\Node\\Expr\\StaticCall","description":"Static method call whose class expression names the model."},{"name":"$scope","type":"PHPStan\\Analyser\\Scope","description":"Current PHPStan analysis scope."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Query type intersected with `ActiveQuery<Model>`, or `null` to keep PHPStan's answer when the call is a first-class callable, the return type is not a single `yii\\db\\ActiveQuery` class, the model cannot be resolved, or the query's `T` does not strictly widen the model."}},"isStaticMethodSupported":{"signature":"public function isStaticMethodSupported(PHPStan\\Reflection\\MethodReflection $methodReflection): bool","summary":"Returns whether a variant of the reflected static method may return an `yii\\db\\ActiveQuery`.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection"}],"return":{"type":"bool"}}}},"yii2\\extensions\\phpstan\\type\\ApplicationTypeNodeResolverExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/applicationtypenoderesolverextension/","summary":"Resolves the PHPDoc types of `Yii::$app` and `Module::$params` declared by the stub shipped with this extension.","implements":["PHPStan\\PhpDoc\\TypeNodeResolverExtension"],"methods":{"__construct":{"signature":"public function __construct(yii2\\extensions\\phpstan\\ServiceMap $serviceMap, PHPStan\\Reflection\\ReflectionProvider $reflectionProvider, PHPStan\\Analyser\\DeclarationDependencyTracker $dependencyTracker)","summary":"Initializes configuration-backed application and params type resolution.","params":[{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."},{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider for the class declaring a placeholder."},{"name":"$dependencyTracker","type":"PHPStan\\Analyser\\DeclarationDependencyTracker","description":"Records the configuration values each class declaration depends on."}]},"resolve":{"signature":"public function resolve(PHPStan\\PhpDocParser\\Ast\\Type\\TypeNode $typeNode, PHPStan\\Analyser\\NameScope $nameScope): PHPStan\\Type\\Type|null","summary":"Resolves the placeholder types of the shipped stub.","params":[{"name":"$typeNode","type":"PHPStan\\PhpDocParser\\Ast\\Type\\TypeNode","description":"PHPDoc type node being resolved."},{"name":"$nameScope","type":"PHPStan\\Analyser\\NameScope","description":"Name scope of the PHPDoc holding the type node."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Configured application or params type, or `null` for any other type node."}}},"constants":{"APPLICATION_TYPE":{"value":"'yii2-extensions-phpstan-application'","description":"Placeholder PHPDoc type of `Yii::$app`, resolved to the configured application class."},"PARAMS_TYPE":{"value":"'yii2-extensions-phpstan-params'","description":"Placeholder PHPDoc type of `Module::$params`, resolved to the configured params shape."}}},"yii2\\extensions\\phpstan\\type\\ContainerDynamicMethodReturnTypeExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/containerdynamicmethodreturntypeextension/","summary":"Resolves `yii\\di\\Container::get()` calls for service IDs defined in the Yii configuration to their configured class.","implements":["PHPStan\\Type\\DynamicMethodReturnTypeExtension"],"methods":{"__construct":{"signature":"public function __construct(yii2\\extensions\\phpstan\\ServiceMap $serviceMap)","summary":"Initializes container service inference from the analysis configuration.","params":[{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."}]},"getClass":{"signature":"public function getClass(): string","summary":"Returns the Yii DI container class supported by this extension.","return":{"type":"string"}},"getTypeFromMethodCall":{"signature":"public function getTypeFromMethodCall(PHPStan\\Reflection\\MethodReflection $methodReflection, PhpParser\\Node\\Expr\\MethodCall $methodCall, PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type|null","summary":"Returns the class configured for a single constant service ID, or `object` when its class can't be determined.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection of the called method."},{"name":"$methodCall","type":"PhpParser\\Node\\Expr\\MethodCall","description":"Method call with arguments already normalized by PHPStan."},{"name":"$scope","type":"PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope","description":"Current PHPStan analysis scope."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Configured service class, `object` for a service whose class can't be determined, or `null` to defer to the return type declared by Yii."}},"isMethodSupported":{"signature":"public function isMethodSupported(PHPStan\\Reflection\\MethodReflection $methodReflection): bool","summary":"Returns whether the reflected method is `yii\\di\\Container::get()`.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection"}],"return":{"type":"bool"}}}},"yii2\\extensions\\phpstan\\type\\HeaderCollectionDynamicMethodReturnTypeExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/headercollectiondynamicmethodreturntypeextension/","summary":"Removes `null` from the `yii\\web\\HeaderCollection::get()` return type when the `$default` argument cannot be `null`.","implements":["PHPStan\\Type\\DynamicMethodReturnTypeExtension"],"methods":{"getClass":{"signature":"public function getClass(): string","summary":"Returns the Yii header collection class supported by this extension.","return":{"type":"string"}},"getTypeFromMethodCall":{"signature":"public function getTypeFromMethodCall(PHPStan\\Reflection\\MethodReflection $methodReflection, PhpParser\\Node\\Expr\\MethodCall $methodCall, PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type|null","summary":"Returns the declared return type without `null` when the `$default` argument cannot be `null`.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection of the called method."},{"name":"$methodCall","type":"PhpParser\\Node\\Expr\\MethodCall","description":"Method call with arguments already normalized by PHPStan."},{"name":"$scope","type":"PHPStan\\Analyser\\Scope","description":"Current PHPStan analysis scope."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Non-nullable header type, or `null` to defer to the return type declared by Yii, also when an argument is unpacked."}},"isMethodSupported":{"signature":"public function isMethodSupported(PHPStan\\Reflection\\MethodReflection $methodReflection): bool","summary":"Returns whether the reflected method is `yii\\web\\HeaderCollection::get()`.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection"}],"return":{"type":"bool"}}}},"yii2\\extensions\\phpstan\\type\\LoggerMessagesExpressionTypeResolverExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/loggermessagesexpressiontyperesolverextension/","summary":"Infers the documented tuple shape for Yii logger and log-target message buffers.","implements":["PHPStan\\Type\\ExpressionTypeResolverExtension"],"methods":{"__construct":{"signature":"public function __construct(PHPStan\\Reflection\\ReflectionProvider $reflectionProvider)","summary":"Initializes Yii-version-aware logger message type resolution.","params":[{"name":"$reflectionProvider","type":"PHPStan\\Reflection\\ReflectionProvider","description":"Reflection provider used to detect Yii 22.0 PSR message support."}]},"getType":{"signature":"public function getType(PhpParser\\Node\\Expr $expr, PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type|null","summary":"Resolves reads of Yii logger message-buffer properties to their precise array shapes.","params":[{"name":"$expr","type":"PhpParser\\Node\\Expr","description":"Expression being analyzed."},{"name":"$scope","type":"PHPStan\\Analyser\\Scope","description":"Current PHPStan analysis scope."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Inferred message-buffer type, or `null` for unrelated expressions."}}}},"yii2\\extensions\\phpstan\\type\\ServiceLocatorDynamicMethodReturnTypeExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/servicelocatordynamicmethodreturntypeextension/","summary":"Resolves `yii\\di\\ServiceLocator::get()` calls for component IDs configured in the Yii application to their class.","implements":["PHPStan\\Type\\DynamicMethodReturnTypeExtension"],"methods":{"__construct":{"signature":"public function __construct(yii2\\extensions\\phpstan\\ServiceMap $serviceMap)","summary":"Initializes component inference from the analysis configuration.","params":[{"name":"$serviceMap","type":"yii2\\extensions\\phpstan\\ServiceMap","description":"Service and component map for Yii Application static analysis."}]},"getClass":{"signature":"public function getClass(): string","summary":"Returns the Yii service locator class supported by this extension.","return":{"type":"string"}},"getTypeFromMethodCall":{"signature":"public function getTypeFromMethodCall(PHPStan\\Reflection\\MethodReflection $methodReflection, PhpParser\\Node\\Expr\\MethodCall $methodCall, PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type|null","summary":"Returns the type of the component with a single constant ID, made nullable when the declared return type allows `null`.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection","description":"Reflection of the called method."},{"name":"$methodCall","type":"PhpParser\\Node\\Expr\\MethodCall","description":"Method call with arguments already normalized by PHPStan."},{"name":"$scope","type":"PHPStan\\Analyser\\DependencyTracker&PHPStan\\Analyser\\Scope","description":"Current PHPStan analysis scope."}],"return":{"type":"PHPStan\\Type\\Type|null","description":"Component class, `object` for a component whose class can't be determined, or `null` to defer to the return type declared by Yii."}},"isMethodSupported":{"signature":"public function isMethodSupported(PHPStan\\Reflection\\MethodReflection $methodReflection): bool","summary":"Returns whether the reflected method is `yii\\di\\ServiceLocator::get()`.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection"}],"return":{"type":"bool"}}}},"yii2\\extensions\\phpstan\\type\\TargetFilterMessagesDynamicStaticMethodReturnTypeExtension":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/phpstan/reference/type/targetfiltermessagesdynamicstaticmethodreturntypeextension/","summary":"Preserves Yii log-message key and value types through `yii\\log\\Target::filterMessages()` calls.","implements":["PHPStan\\Type\\DynamicStaticMethodReturnTypeExtension"],"methods":{"getClass":{"signature":"public function getClass(): string","summary":"Returns the Yii log target class supported by this extension.","return":{"type":"string"}},"getTypeFromStaticMethodCall":{"signature":"public function getTypeFromStaticMethodCall(PHPStan\\Reflection\\MethodReflection $methodReflection, PhpParser\\Node\\Expr\\StaticCall $methodCall, PHPStan\\Analyser\\Scope $scope): PHPStan\\Type\\Type","summary":"Returns an array retaining the input message key and tuple types while allowing filtering to produce an empty result or gaps in integer keys.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection"},{"name":"$methodCall","type":"PhpParser\\Node\\Expr\\StaticCall"},{"name":"$scope","type":"PHPStan\\Analyser\\Scope"}],"return":{"type":"PHPStan\\Type\\Type"}},"isStaticMethodSupported":{"signature":"public function isStaticMethodSupported(PHPStan\\Reflection\\MethodReflection $methodReflection): bool","summary":"Returns whether the reflected method is Yii's message filter.","params":[{"name":"$methodReflection","type":"PHPStan\\Reflection\\MethodReflection"}],"return":{"type":"bool"}}}}}}
