PHP Анализ зависимостей и анализ кода, чтобы помочь понять устаревший код - PullRequest
0 голосов
/ 19 июня 2020

Инструмент, расположенный по адресу https://packagist.org/packages/mamuz/php-dependency-analysis Марко Мутс, похоже, делает то, на что я надеюсь, но когда я запускаю его, все, что я получаю, - это один лайнер в файле phpda.svg, который выглядит l ie это:

PhpDependencyAnalysis от Marco Muths v2.02

График не создается.

Поэтому я, вероятно, не помещаю файл конфигурации в соответствующую родительскую или дочернюю папку или, возможно, мой файл конфигурации не совсем совпадает.

Особенности:

  1. есть папка с именем / mywebsite / application / helpers, в которой есть 30 *. php файлов.
  2. Я создал файл конфигурации с именем phpda.yml (как показано ниже) и попытался поместить его как в родительскую папку / mywebsite / application , так и в дочернюю / mywebsite / application. / helpers папка.
  3. Я запускаю эту docker команду $ docker run --rm -v $ PWD: / app mamuz / phpda
  4. Содержимое phpda.yml это:
mode: 'usage'
source: '.' # also tried './helpers'
filePattern: '*.php'
ignore: 'tests'
formatter: 'PhpDA\Writer\Strategy\Svg'
target: './phpda.svg'
groupLength: 1
visitor:
  - PhpDA\Parser\Visitor\TagCollector
  - PhpDA\Parser\Visitor\SuperglobalCollector
visitorOptions:
  PhpDA\Parser\Visitor\Required\DeclaredNamespaceCollector: {minDepth: 2, sliceLength: 2}
  PhpDA\Parser\Visitor\Required\MetaNamespaceCollector: {minDepth: 2, sliceLength: 2}
  PhpDA\Parser\Visitor\Required\UsedNamespaceCollector: {minDepth: 2, sliceLength: 2}
  PhpDA\Parser\Visitor\TagCollector: {minDepth: 2, sliceLength: 2}

Таким образом, один прогон действительно показывает, что было проанализировано 30 файлов, но выход был только включен e строка текста и никаких графиков в файле SVG.

Я унаследовал очень большую базу кода из PHP приложений Framwork, и я действительно мог бы использовать какой-то инструмент, который поможет мне понять основную архитектуру и зависимости . Я думаю, что это правильный инструмент, если я могу заставить его работать, иначе кто-нибудь знает об инструменте, обеспечивающем архитектурное понимание больших приложений PHP Framework (Symfony, CodeIgnite, et c)?

Спасибо, Карл

...