Add missing generics in yii\validators and yii\log namespaces (#20644)

This commit is contained in:
Maksim Spirkov
2025-10-28 14:58:17 +03:00
committed by GitHub
parent bfd3736653
commit 503828ef3a
3 changed files with 18 additions and 3 deletions

View File

@@ -13,7 +13,9 @@ use yii\base\InvalidConfigException;
use yii\helpers\ArrayHelper; use yii\helpers\ArrayHelper;
use yii\helpers\StringHelper; use yii\helpers\StringHelper;
use yii\helpers\VarDumper; use yii\helpers\VarDumper;
use yii\web\IdentityInterface;
use yii\web\Request; use yii\web\Request;
use yii\web\User;
/** /**
* Target is the base class for all log target classes. * Target is the base class for all log target classes.
@@ -344,7 +346,10 @@ abstract class Target extends Component
$request = Yii::$app->getRequest(); $request = Yii::$app->getRequest();
$ip = $request instanceof Request ? $request->getUserIP() : '-'; $ip = $request instanceof Request ? $request->getUserIP() : '-';
/** @var \yii\web\User $user */ /**
* @var User $user
* @phpstan-var User<IdentityInterface>
*/
$user = Yii::$app->has('user', true) ? Yii::$app->get('user') : null; $user = Yii::$app->has('user', true) ? Yii::$app->get('user') : null;
if ($user && ($identity = $user->getIdentity(false))) { if ($user && ($identity = $user->getIdentity(false))) {
$userID = $identity->getId(); $userID = $identity->getId();

View File

@@ -116,13 +116,17 @@ class ExistValidator extends Validator
/** /**
* Validates existence of the current attribute based on relation name * Validates existence of the current attribute based on relation name
* @param \yii\db\ActiveRecord $model the data model to be validated * @param ActiveRecord $model the data model to be validated
* @param string $attribute the name of the attribute to be validated. * @param string $attribute the name of the attribute to be validated.
*/ */
private function checkTargetRelationExistence($model, $attribute) private function checkTargetRelationExistence($model, $attribute)
{ {
$exists = false; $exists = false;
/** @var ActiveQuery $relationQuery */
/**
* @var ActiveQuery $relationQuery
* @phpstan-var ActiveQuery<ActiveRecord>
*/
$relationQuery = $model->{'get' . ucfirst($this->targetRelation)}(); $relationQuery = $model->{'get' . ucfirst($this->targetRelation)}();
if ($this->filter instanceof \Closure) { if ($this->filter instanceof \Closure) {
@@ -316,6 +320,8 @@ class ExistValidator extends Validator
* @param array $conditions array of condition, keys to be modified * @param array $conditions array of condition, keys to be modified
* @param string|null $alias set empty string for no apply alias. Set null for apply primary table alias * @param string|null $alias set empty string for no apply alias. Set null for apply primary table alias
* @return array * @return array
*
* @phpstan-param ActiveQuery<ActiveRecord> $query
*/ */
private function applyTableAlias($query, $conditions, $alias = null) private function applyTableAlias($query, $conditions, $alias = null)
{ {

View File

@@ -241,6 +241,8 @@ class UniqueValidator extends Validator
* @param array $conditions conditions, compatible with [[\yii\db\Query::where()|Query::where()]] key-value format * @param array $conditions conditions, compatible with [[\yii\db\Query::where()|Query::where()]] key-value format
* *
* @return ActiveQueryInterface|ActiveQuery * @return ActiveQueryInterface|ActiveQuery
*
* @phpstan-return ActiveQueryInterface|ActiveQuery<ActiveRecord>
*/ */
private function prepareQuery($targetClass, $conditions) private function prepareQuery($targetClass, $conditions)
{ {
@@ -319,6 +321,8 @@ class UniqueValidator extends Validator
* @param array $conditions array of condition, keys to be modified * @param array $conditions array of condition, keys to be modified
* @param string|null $alias set empty string for no apply alias. Set null for apply primary table alias * @param string|null $alias set empty string for no apply alias. Set null for apply primary table alias
* @return array * @return array
*
* @phpstan-param ActiveQuery<ActiveRecord> $query
*/ */
private function applyTableAlias($query, $conditions, $alias = null) private function applyTableAlias($query, $conditions, $alias = null)
{ {