Hello,
I wanted to share a recent work I’ve done to better visualise the
dependencies between classes, with the call graph [1].
For the extension I am currently developping (MediaWikiFarm [2]), I
wanted to obtain the call graph. First I did it by hand, but then I
found a program doing the job, phpCallGraph [3], but unfortunately it
was unmaintained since 2009 (PHP 5.2 era). I did maintenance and it
partly works [4], I still have issues with the autoloader.
Here are some preliminary results I got: (these are packages without
much external dependencies due to autoloader issues)
* Extension:MediaWikiFarm
https://www.mediawiki.org/wiki/File:Call_graph_of_extension_MediaWikiFarm.svg
* Extension:Math
https://www.mediawiki.org/wiki/File:Call_graph_of_extension_Math.svg
* Extension:CentralAuth
https://www.mediawiki.org/wiki/File:Call_graph_of_extension_CentralAuth.svg
* directory 'includes' of MediaWiki without subdirectories (too big)
https://www.mediawiki.org/wiki/File:Call_graph_of_MediaWiki%E2%80%99s_directory_includes.svg
I plan to improve this software (see README on GitHub), please say if
you if you are interested by this type of graph and/or interested in
contributing.
Thanks,
Seb35
[1] https://en.wikipedia.org/wiki/Call_graph (the overapproximation of
the static call graph to be precise)
[2] https://www.mediawiki.org/wiki/Extension:MediaWikiFarm
[3] http://phpcallgraph.sourceforge.net
[4] https://github.com/Seb35/phpcallgraph
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l