Инструмент, расположенный по адресу https://packagist.org/packages/mamuz/php-dependency-analysis Марко Мутс, похоже, делает то, на что я надеюсь, но когда я запускаю его, все, что я получаю, - это один лайнер в файле phpda.svg, который выглядит l ie это:
PhpDependencyAnalysis от Marco Muths v2.02
График не создается.
Поэтому я, вероятно, не помещаю файл конфигурации в соответствующую родительскую или дочернюю папку или, возможно, мой файл конфигурации не совсем совпадает.
Особенности:
- есть папка с именем / mywebsite / application / helpers, в которой есть 30 *. php файлов.
- Я создал файл конфигурации с именем phpda.yml (как показано ниже) и попытался поместить его как в родительскую папку / mywebsite / application , так и в дочернюю / mywebsite / application. / helpers папка.
- Я запускаю эту docker команду $ docker run --rm -v $ PWD: / app mamuz / phpda
- Содержимое 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)?
Спасибо, Карл