Есть ли инструменты визуализации кода PHP?

Ищете программное обеспечение, которое будет анализировать php-код (то есть весь WordPress или тематическую тему) и покажу мне красивые картинки (возможно, блок-диаграмму ) всех подключений, которые помогут мне быстрее понять, где и что связано с тем, что ,

В идеале это программное обеспечение будет работать на Mac, но я возьму что угодно: Windows, Linux, веб-сайты и т. Д.

Related of "Есть ли инструменты визуализации кода PHP?"

[UPDATE: этот ответ не обрабатывает пространства имен, поэтому он в основном устарел. Я оставлю его здесь, если кто-нибудь найдет интересный подход DOT.]

Вот простой способ наследования класса графа в PHP.

Grep для определения классов, а затем преобразовать выход grep в синтаксис DOT. ПРИМЕЧАНИЕ. Этот процесс потребует проб и ошибок в вашей ситуации. Запустите grep отдельно и настройте его, чтобы показать правильные строки определения класса перед тем, как поместить его в скрипт!

Этот скрипт был для PHP на стандартном * nix (я использовал Ubuntu), с установленным графическим интерфейсом и используя grep -v, чтобы исключить некоторые каталоги, которые не представляли интереса, потому что я смотрел на CakePHP-кодовую базу. В этой ситуации Fdp работал лучше, чем sfdp, dot, circo или neato.

Создать generateClassHierarchy.sh

#!/bin/bash echo 'digraph code {' > code.dot; grep -r "^class " * | grep -v "^app/vendors" | grep -v "^cake/" | grep -v "Binary file" | sed 's/.*://' | sed 's/class / /' | sed 's/ extends / -> /' | sed 's/ implements .*//' | sed 's/ \?{.*$//' | sort >> code.dot echo '}' >> code.dot; fdp -Tpng -ocode.fdp.png code.dot 2> /dev/null # Ignore syntax error echo "OK"; 

Тогда просто:

 cd /var/www/my_app/ # or wherever bash ~/shell/generateClassHierarchy.sh # or wherever eog code.fdp.png 

Замените eog на предпочтительный просмотрщик изображений. Я запустил это на Zend Framework в качестве теста и составил 22 мегабайт PNG-графика. Запуск его только на Zend_Db показывает вам это (пример на моем сайте):

http://chapman.id.au/generate-php-class-inheritance-diagrams-in-graphviz

  • KCachegrind – с Xdebug вы можете профилировать выполнение ваших скриптов, KCachegrind может генерировать некоторые довольно удивительные графики вызовов из этого
  • nwire для Eclipse

Возможно, http://phpcallgraph.sourceforge.net/ для статического анализа.

Он может выводиться в различные форматы.

BOUML может сделать UML-диаграммы из существующего кода PHP

nWire устарел, не поддерживает последние версии PHP (пространства имен). Версия сообщества Visual Paradigm бесплатна для некоммерческих проектов, но также не работает на последних версиях PHP.

phUML – очень полезный бесплатный инструмент. Он больше не поддерживается, но все еще отлично работает для PHP 5. Пользователи Mac также устанавливают графику .

Попробуйте JB Graph

если вы хорошо разбираетесь в java-скрипте, попробуйте D3.js

https://d3js.org/