Fix #19506: Fix @property annotations in yii\console\widgets\Table, yii\di\Container and yii\web\Session

This commit is contained in:
Maksim Spirkov
2025-09-15 21:59:22 +04:00
committed by GitHub
parent 4774464159
commit 04202f04f5
5 changed files with 25 additions and 10 deletions

View File

@ -774,13 +774,22 @@ class PhpDocController extends ConsoleController
$className = $namespace . '\\' . $class['name'];
$gets = $this->match(
'#\* @return (?<type>[\w\\|\\\\\\[\\]]+)(?: (?<comment>(?:(?!\*/|\* @).)+?)(?:(?!\*/).)+|[\s\n]*)\*/' .
'[\s\n]{2,}(\#\[\\\\*.+\])*[\s\n]{2,}public function (?<kind>get)(?<name>\w+)\((?:,? ?\$\w+ ?= ?[^,]+)*\)#',
$class['content'], true);
'#\* @return (?<type>[\w\\|\\\\\\[\\]]+)'
. '(?: (?<comment>(?:(?!\*/|\* @).)+?)(?:(?!\*/).)+|[\s\n]*)((\*\n)|(\*\s.+))*\*/'
. '[\s\n]{2,}(\#\[\\\\*.+\])*[\s\n]{2,}'
. 'public function (?<kind>get)(?<name>\w+)\((?:,? ?\$\w+ ?= ?[^,]+)*\)(\:\s*[\w\\|\\\\\\[\\]]+)?#',
$class['content'],
true
);
$sets = $this->match(
'#\* @param (?<type>[\w\\|\\\\\\[\\]]+) \$\w+(?: (?<comment>(?:(?!\*/|\* @).)+?)(?:(?!\*/).)+|[\s\n]*)\*/' .
'[\s\n]{2,}(\#\[\\\\*.+\])*[\s\n]{2,}public function (?<kind>set)(?<name>\w+)\(\$\w+(?:, ?\$\w+ ?= ?[^,]+)*\)#',
$class['content'], true);
'#\* @param (?<type>[\w\\|\\\\\\[\\]]+) \$\w+'
. '(?: (?<comment>(?:(?!\*/|\* @).)+?)(?:(?!\*/).)+|[\s\n]*)((\*\n)|(\*\s.+))*\*/'
. '[\s\n]{2,}(\#\[\\\\*.+\])*[\s\n]{2,}'
. 'public function (?<kind>set)(?<name>\w+)\(([\w\\|\\\\\\[\\]]+\s*)?\$\w+(?:, ?\$\w+ ?= ?[^,]+)*\)(\:\s*[\w\\|\\\\\\[\\]]+)?#',
$class['content'],
true
);
$acrs = array_merge($gets, $sets);
$manuallyAddedProperties = self::MANUALLY_ADDED_PROPERTIES[$className] ?? [];