FriendsOfREDAXO/rexstan
GitHub: FriendsOfREDAXO/rexstan
为 REDAXO 集成 PHPStan 静态分析,提升开发效率与代码质量。
Stars: 42 | Forks: 2
# rexstan
为 REDAXO 添加代码分析,提升开发者生产力和代码质量。

## IDE 集成
使用 rexstan 最有效的方式是将其集成到你的 IDE 中。
这样你可以在编写源代码时及时看到问题报告。
### PHPStorm
打开 `Preferences` 并搜索 `phpstan`。
导航至 `PHP` -> `Quality Tools` -> `PHPStan`,点击 `...` 按钮打开 `Local Configuration`。
将 `PHPStan path` 配置为 `/path/to/your/project/redaxo/src/addons/rexstan/vendor/bin/phpstan`。
点击 `validate` 并确认未报告错误。
点击 `PHPStan Inspection`,勾选 `PHPStan validation` 复选框以启用。
将 `Configuration file` 配置为 `/path/to/your/project/redaxo/src/addons/rexstan/phpstan.neon`。
你可以考虑将 `PHPStan validation` 的 `Severity` 提升至 `Warning` 或 `Error`。
点击 `OK` 关闭所有对话框。
## Web UI
如果你的 Web 服务器允许,你可以通过 REDAXO 后台 Web 界面查看并运行分析。
由于安全设置,这在部分服务器上可能无法使用。
为了优化开发者体验,你应该启用 REDAXO 编辑器集成。
## 待办注释过期
利用 [phpstan-todo-by](https://github.com/staabm/phpstan-todo-by),rexstan 将支持带有过期时间的代码中的待办注释。
示例:
```
// TODO redaxo/redaxo#5860 turns into a phpstan error when the github issue (or pull request) is closed
// TODO 2021-09-30 turns into a error when todays date is after 2021-09-30
```
## REDAXO 控制台
可以通过 `php redaxo/bin/console rexstan:analyze` 命令在 REDAXO 控制台中运行分析,这在大多数环境中都能正常工作。
这对于生成报告很有帮助,以便你可以跟踪报告的问题以及随时间处理这些问题的进度。
## REDAXO Docker
如果你在与 [docker-redaxo](https://github.com/FriendsOfREDAXO/docker-redaxo) 一起使用 rexstan,可能需要将 `/tmp` 文件夹设为可写。在 Docker 控制台中运行:`chmod 777 -R /tmp && chmod o+t -R /tmp`
## PHP 内存限制
如果遇到内存消耗问题,应增加 PHP 内存限制。
在 php.ini 中将 PHP 内存限制设置为:`memory_limit = 1024M` 或更高。
**对于 REDAXO Docker 镜像**
打开 Docker 终端,并通过以下命令设置新的内存限制:
`printf 'memory_limit = 1024M\n' >> /usr/local/etc/php/conf.d/uploads.ini \`
重启容器。
## 💌 支持 rexstan
[考虑支持该项目](https://github.com/sponsors/staabm),这样我们可以让这个工具更快更好地为每个人服务。
## 致谢
- rexstan 由 [Markus Staab](https://github.com/staabm) 开发
- rexstan LOGO 由 Ralph Zumkeller, yakamara.de 提供
- PHPStan 由 [Ondřej Mirtes](https://github.com/ondrejmirtes) 和 [贡献者](https://github.com/phpstan/phpstan-src/graphs/contributors) 提供
标签:Docker, ffuf, PHPStan, PHPStorm, PHP代码质量, PHP静态分析, REDAXO, REDAXO控制台, SOC Prime, TCP SYN 扫描, Todo注释, Web UI, 代码分析, 代码质量工具, 代码质量提升, 凭证管理, 安全防御评估, 开发工具, 开发者生产力, 开源插件, 开源框架, 持续集成, 过期注释, 错误基检测, 静态代码分析