ahmed-bhs/doctrine-doctor
GitHub: ahmed-bhs/doctrine-doctor
集成在Symfony Web Profiler中的运行时Doctrine ORM分析工具,检测N+1查询、安全漏洞和性能问题。
Stars: 81 | Forks: 7
# Doctrine 医生
**Doctrine ORM 运行时分析工具 — 集成到 Symfony Web Profiler**
[](https://php.net)
[](https://symfony.com)
[](https://www.doctrine-project.org)
[](LICENSE)
[](https://github.com/ahmed-bhs/doctrine-doctor/actions)
[](https://phpstan.org)
[](https://www.php-fig.org/psr/psr-12/)
[](https://packagist.org/packages/ahmed-bhs/doctrine-doctor)
为什么选择运行时分析?
## 文档
| 文档 | 描述 |
|----------|-------------|
| [**完整分析器列表**](docs/user-guide/analyzers.md) | 涵盖性能、安全、完整性和配置的 **90+ 分析器**完整目录 — 找到适合您特定需求的完美分析器 |
| [**架构指南**](docs/advanced/architecture.md) | **系统设计**、架构模式和技术内部细节的深入探讨 — 了解 Doctrine Doctor 的工作原理 |
| [**配置参考**](docs/user-guide/configuration.md) | **所有配置选项**的综合指南 — 自定义分析器、阈值和输出以匹配您的工作流程 |
| [**模板安全**](docs/advanced/template-security.md) | PHP 模板的必备**安全最佳实践** — 防止 XSS 攻击并确保模板安全渲染 |
## 许可证
MIT 许可证 — 详见 [LICENSE](LICENSE)。
**Doctrine ORM 运行时分析工具 — 集成到 Symfony Web Profiler**
[](https://php.net)
[](https://symfony.com)
[](https://www.doctrine-project.org)
[](LICENSE)
[](https://github.com/ahmed-bhs/doctrine-doctor/actions)
[](https://phpstan.org)
[](https://www.php-fig.org/psr/psr-12/)
[](https://packagist.org/packages/ahmed-bhs/doctrine-doctor)
为什么选择运行时分析?
与静态分析工具(PHPStan、Psalm)在不执行代码的情况下分析不同,Doctrine Doctor:
- 检测运行时 Doctrine 问题,通过分析实际执行上下文(实际参数、数据量、查询计划),包括 N+1 查询、实际查询性能瓶颈和缺失索引。
- 集成到您的工作流程中:结果直接在开发期间的 Symfony Web Profiler 中显示
- 📍 回溯:指向确切的模板行
- 💡 建议:使用
->addSelect(..)预加载产品
| 优化前 — 100 次查询 | 优化后 — 1 次查询 |
| ``` $users = $repository->findAll(); ``` ``` {% for user in users %} {{ user.profile.bio }} {% endfor %} ``` | ``` $users = $repository ->createQueryBuilder('u') ->leftJoin('u.profile', 'p') ->addSelect('p') ->getQuery() ->getResult(); ``` |
Doctrine Doctor 在运行时检测 N+1 模式 — 报告查询数量、执行时间、指向确切的模板行,并建议使用 addSelect() 进行预加载。
|
|
标签:Doctrine ORM, ffuf, N+1查询, OpenVAS, ORM调试, PHP, PHPStan, PHP开发工具, SOC Prime, SQL优化, Symfony, Symfony扩展, Web Profiler, 安全漏洞检测, 开发工具, 性能分析, 数据库优化, 查询分析, 运行时分析