phpstorm查看类图无需额外插件,diagrams插件默认启用;若右键无该选项,需在settings→plugins中启用并重启;支持多文件、目录popup、光标定位三种触发方式,导出推荐png/svg/plantuml。

PhpStorm 查看类图不需要额外插件——Diagrams 插件已默认启用,禁用才会失效。
确认 Diagrams 插件是否启用
右键菜单里没有 Diagrams 选项?不是功能缺失,而是插件被关了:
- 按
Ctrl+Alt+S(Windows/Linux)或Cmd+,(macOS)打开设置 - 进入
Plugins → Installed,搜索Diagrams - 确保复选框已勾选,重启 IDE
重启后右键任意 PHP 类文件,就能看到 Diagrams → Show Diagram 菜单项。
生成准确类图的三种触发方式
不同场景下选错入口,图会漏关键关系或卡死:
-
查几个类之间的直接关系:在 Project 视图中
Ctrl(或Cmd)多选多个.php文件(如User.php、UserRepository.php),右键 →Show Diagram。新标签页立刻加载,节点含可见性符号,连线标注extends/implements/类型提示依赖 -
分析一个目录下的模块结构:右键目标目录(如
app/Models)→Show Diagram Popup,弹窗中必须勾选Show members和Show relationships;类超 50 个时首次加载明显卡顿,建议先缩小范围再手动加关键类 -
编辑中快速看当前类上下文:光标停在
class行或方法内,右键 →Show Diagram(或快捷键Ctrl+Alt+Shift+U),图只含直接静态关联,不递归展开父类的父类
常见关系识别限制与绕过方法
PhpStorm 的 Diagrams 是纯静态分析器,不执行代码,因此很多“看起来有关系”的地方根本不会画出来:
-
use Trait不自动显示:即使class A { use B; },B不会出现;必须双击A节点,在弹出面板中按Space搜索并手动添加 - 字符串拼接的类名不识别:如
private $repoClass = UserRepo::class;或'App\Repositories\' . 'UserRepo',这类运行时解析的类型提示全被跳过 - 动态
new $className、call_user_func、容器绑定等,一律不可见
导出时避开 .uml 格式——那是 PhpStorm 私有二进制格式,其他工具打不开;协作时优先选 PNG、Svg 或 PlantUML。
为什么不用第三方插件
像 PHP Dependency Graph 或 composer-dependency-graph 这类工具,面向的是 Composer 包级依赖或全项目静态扫描,和 Diagrams 的目标完全不同:Diagrams 关注类定义层面的继承、实现、类型提示,轻量、即时、可交互;而外部工具往往要跑 CLI、生成大 HTML、无法跳转源码、也不支持手动修正关系。真需要跨项目或包级视图,再单独用它们更合适。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










