Диаграммы UML в PhpStorm

Последнее обновление: 27.02.2019 г.
Публикация: 15.12.2017 г.

С помощью диаграмм классов UML можно увидеть связи между классами, абстрактными классами и интерфейсами. Чем это может быть полезно? Это поможет тебе увидеть общую картину проекта и определить, как классы взаимодействуют и связаны между собой. В PhpStorm есть инструменты, которые помогут тебе создать такие диаграммы и управлять кодом из них.

Чтобы создать диаграмму классов UML, используй контекстное меню [Diagrams → Show Diagram...] кликая по файлу класса или папке классов (или даже всего проекта) в области Project.

PhpStorm: Диаграмма классов UML c примечаниями

На диаграмме выше видно, как класс IndexController расширяет абстрактный класс AbstractActionController, который расширяет абстрактный класс AbstractController, который в свою очередь реализует три интерфейса. Такое представление очень наглядно и помогает разобраться в иерархии объектов. Также ты можешь манипулировать своим кодом из диаграммы или изменять только диаграмму.

Ещё можно добавлять примечания к диаграмме из контекстного меню [New... → Note] в области диаграммы. Они могут быть полезны для объяснения предназначения каждой абстракции. Нажатие кнопки Е позволяет развернуть узлы по их пространству имён, а нажатие кнопки C сворачивает их. Это удобно для навигации по дереву, так как при развёртывании узлов в диаграмму добавляются классы, если их ещё нет. Также ты можешь сам добавить классы к диаграмме, с помощью кнопки Space.

Другая возможность — это настройка отображения классов в диаграмме. Можно с пользой показать или скрыть:

  • методы,
  • свойства,
  • константы,
  • конструктор.

Это можно сделать либо из контекстного меню, либо с помощью панели инструментов в верхней части области диаграммы. Отображение методов и свойств особенно полезно, так как позволяет тебе точно определить в какой сущности реализуется метод или свойство.

PhpStorm: Диаграмма классов UML c отображением методов

Ты также можешь зарефакторить каждый объект диаграммы с помощью пункта контекстного меню Refactor. Например, ты можешь переименовать интерфейс, для этого используй пункт [Refactor → Rename].

Новая возможность в PhpStorm 2017.2 — это добавление кода в сущность с помощью пунктов контекстного меню из области диаграммы:

  • [New → Create New Field] — создание нового поля (свойства),
  • [New → Create New Method] — создание нового метода.

Диаграмма UML может быть очень полезна для хорошего обзора PHP-приложения, а новые возможности рефакторинга кода напрямую из диаграмм сделают их ещё более полезным инструментом. Ты можешь узнать больше о диаграммах UML из этого руководства по PhpStorm.

Контрольные вопросы

Источники и дополнительные материалы