Skip to content
PHP Ecosystem
Explore

LoggerMessagesExpressionTypeResolverExtension

API reference › PHPStan › type › LoggerMessagesExpressionTypeResolverExtension

final classyii2\extensions\phpstan\type\LoggerMessagesExpressionTypeResolverExtension
ImplementsExpressionTypeResolverExtension
Sourcesrc/type/LoggerMessagesExpressionTypeResolverExtension.php

Infers the documented tuple shape for Yii logger and log-target message buffers.

Yii exposes both buffers as native properties documented only as array. This expression resolver recognizes reads of Logger::$messages and Target::$messages and constructs their precise PHPStan array types directly.

ExpressionTypeResolverExtension for PHPStan expression type resolver contract. Logger for the logger message structure. Target for filtered target message buffers.

MethodDescriptionDefined by
__construct()Initializes Yii-version-aware logger message type resolution.LoggerMessagesExpressionTypeResolverExtension
getType()Resolves reads of Yii logger message-buffer properties to their precise array shapes.LoggerMessagesExpressionTypeResolverExtension
public function __construct(PHPStan\Reflection\ReflectionProvider $reflectionProvider)

Initializes Yii-version-aware logger message type resolution.

Parameters

ParameterTypeDescription
$reflectionProviderPHPStan\Reflection\ReflectionProviderReflection provider used to detect Yii 22.0 PSR message support.
public function getType(PhpParser\Node\Expr $expr, PHPStan\Analyser\Scope $scope): PHPStan\Type\Type|null

Resolves reads of Yii logger message-buffer properties to their precise array shapes.

Parameters

ParameterTypeDescription
$exprPhpParser\Node\ExprExpression being analyzed.
$scopePHPStan\Analyser\ScopeCurrent PHPStan analysis scope.

Returns

PHPStan\Type\Type|null: Inferred message-buffer type, or null for unrelated expressions.