From c4e920f054bae18adbd0cf489a8181e41e9ef699 Mon Sep 17 00:00:00 2001 From: Maksim Spirkov <63721828+max-s-lab@users.noreply.github.com> Date: Fri, 29 Aug 2025 18:36:36 +0500 Subject: [PATCH] Add PHPStan sections in docs (#20504) --- docs/internals-ru/git-workflow.md | 13 +++++++++++++ docs/internals/git-workflow.md | 12 ++++++++++++ 2 files changed, 25 insertions(+) diff --git a/docs/internals-ru/git-workflow.md b/docs/internals-ru/git-workflow.md index 30f33c6b26..fd04355749 100644 --- a/docs/internals-ru/git-workflow.md +++ b/docs/internals-ru/git-workflow.md @@ -73,6 +73,19 @@ git remote add upstream https://github.com/yiisoft/yii2.git Вы можете запустить модульные тесты JavaScript с помощью команды `npm test` в корневой директории приложения. +### Статический анализ + +Мы используем [PHPStan](https://phpstan.org) для статического анализа. Он может быть запущен следующими командами: +`php vendor/bin/phpstan` или `vendor\bin\phpstan.bat` в случае запуска на ОС Windows. + +По умолчанию PHPStan будет использовать конфигурацию из `phpstan.dist.neon`. Вы можете создать файл +`phpstan.neon` с вашей собственной конфигурацией, и PHPStan будет использовать его. + +#### Примечание + +В аннотациях PHPDoc мы используем стандартные типы PHP. Пожалуйста, используйте аннотации PHPStan/Psalm, +если хотите добавить условные типы, формы массивов и т.д. Это связано с тем, что не все IDE в настоящее время поддерживают типы PHPStan/Psalm, и это также нарушит автоматическую генерацию документации. + ### Расширения Для работы над расширениями вы можете склонировать репозиторий расширения. Мы сделали команду, которая поможет вам diff --git a/docs/internals/git-workflow.md b/docs/internals/git-workflow.md index b3ede5011a..3f5f430d6f 100644 --- a/docs/internals/git-workflow.md +++ b/docs/internals/git-workflow.md @@ -73,6 +73,18 @@ You may limit the tests to a group of tests you are working on e.g. to run only You can execute JavaScript unit tests by running `npm test` in the repo root directory. +### Static analysis + +We use [PHPStan](https://phpstan.org) for static analysis. It can be launched using the following commands: +`php vendor/bin/phpstan` or `vendor\bin\phpstan.bat` in case of execution from the Windows OS. + +By default, PHPStan will use the configuration from `phpstan.dist.neon`. You can create +a `phpstan.neon` file with your own configuration, and PHPStan will use it. + +#### Note + +In PHPDoc annotations, we use standard PHP types. Please use PHPStan/Psalm annotations if you want to add conditional types, array shapes, etc. This is because not all IDEs currently support PHPStan/Psalm types, and it will also break automatic documentation generation. + ### Extensions To work on extensions you have to clone the extension repository. We have created a command that can do this for you: