Menu

[r114]: / website / htdocs / index.html  Maximize  Restore  History

Download this file

164 lines (152 with data), 9.4 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>phpCallGraph - A Static Call Graph Generator for PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="phpcallgraph.css">
</head>
<body>
<div class="callgraph" style="float: right;">
<a href="http://phpcallgraph.sourceforge.net/examples/phpcallgraph/phpcallgraph-library.png">
<img src="phpcallgraph.png" width="350"
alt="Call graph of the main class of phpCallGraph itself"
title="Call graph of the main class of phpCallGraph itself"/>
</a>
<div class="figuredescription">Call graph of the main class of phpCallGraph itself.</div>
</div>
<h1>phpCallGraph -
A Call Graph Generator for PHP</h1>
<div class="textt">
<b>phpCallGraph</b> is a tool to generate static call graphs for
<a href="http://www.php.net/">PHP</a> source code.
Such a graph visualizes the call dependencies among methods or functions of an application.
Arrows represent calls from one method to another method.
Classes are drawn as rectangles containing the respective methods.
The graphs can be leveraged to gain a better understanding of large PHP applications or even to <a href="http://phpcallgraph.svn.sourceforge.net/viewvc/phpcallgraph/docs/workshop-2007-12-03-refactoring-and-unit-testing/">debunk design flaws</a> in them.
<p>
The example call graph on the right shows <!--a part of--> the main class of phpCallGraph itself
and the internal dependencies among its methods.
It is also possible to visualize calls to internal functions of PHP
and to some extend call dependencies among different classes.
Have a look at the <a href="examples/">example call graphs</a> to get an impression.
</p>
<p>
The core of the call graph generator forms an
<a href="http://phpcallgraph.sourceforge.net/examples/phpcallgraph/phpcallgraph-library.png">object-oriented PHP5 library</a>,
<!--<a href="">API Docs</a>-->
which may also be integrated in other projects.
It leverages the
<a href="http://instantsvc.sourceforge.net/">InstantSVC CodeAnalyzer</a>
and <a href="http://www.graphviz.org/">DOT</a>.
On top of it, a
<a href="http://phpcallgraph.svn.sourceforge.net/viewvc/*checkout*/phpcallgraph/trunk/readme.txt">commandline application</a>
allows easy creation of call graphs in various formats, e.g. text, png, jpg or svg.
phpCallGraph is free software licensed under <a href="http://www.fsf.org/licensing/licenses/gpl.html">GPLv3</a>.
</p>
<div style="clear:both"></div>
<div>
<div class="freedom">
<div class="freedomicon">
<a href="http://downloads.sourceforge.net/phpcallgraph/phpcallgraph-0.7.0-pl1.zip">
<img src="images/download_manager1.png" width="128" height="128" />
</a>
</div>
<h2>Use.</h2>
<ul>
<li>
<strong>Grab the latest release:</strong><br />
<a href="http://downloads.sourceforge.net/phpcallgraph/phpcallgraph-0.7.0-pl1.tar.gz">
phpcallgraph-0.7.0-pl1.tar.gz
</a><br />
<a href="http://downloads.sourceforge.net/phpcallgraph/phpcallgraph-0.7.0-pl1.zip">
phpcallgraph-0.7.0-pl1.zip
</a>
</li>
<li><a href="http://phpcallgraph.svn.sourceforge.net/viewvc/*checkout*/phpcallgraph/trunk/changelog.txt">Change Log</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=204008#downloads">Older Versions</a></li>
<!-- <li><a href="phpcallgraph-getting-started-guide.html">Getting Started</a></li> -->
</ul>
</div>
<div class="freedom">
<div class="freedomicon">
<a href="http://phpcallgraph.svn.sourceforge.net/viewvc/*checkout*/phpcallgraph/trunk/readme.txt">
<img src="images/bookcase.png" width="128" height="128" />
</a>
</div>
<h2>Study.</h2>
<ul>
<li><a href="http://phpcallgraph.svn.sourceforge.net/viewvc/*checkout*/phpcallgraph/trunk/readme.txt">Documentation</a></li>
<li><a href="examples/">Examples</a></li>
<li><a href="http://phpcallgraph.svn.sourceforge.net/viewvc/phpcallgraph/docs/">Presentations</a></li>
<!-- <li><a href="">API Documentation => Post link to http://wiki.bluga.net/phpDocumentor/projects</a></li> -->
<!-- <li><a href="phpcallgraph-faq.html">FAQ</a></li> -->
<br />
<br />
</ul>
</div>
<div class="freedom">
<div class="freedomicon">
<a href="http://sourceforge.net/mail/?group_id=204008">
<img src="images/edu_languages.png" width="128" height="128" />
</a>
</div>
<h2>Share.</h2>
<ul>
<li><a href="https://lists.sourceforge.net/lists/listinfo/phpcallgraph-general">Join the Mailing List</a></li>
<li><a href="http://sourceforge.net/projects/phpcallgraph/">Project Page at SourceForge</a></li>
<li><a href="http://sourceforge.net/project/stats/?group_id=204008&amp;ugn=phpcallgraph&amp;type=&amp;mode=alltime">Statistics</a></li>
<br />
<br />
</ul>
</div>
<div class="freedom">
<div class="freedomicon">
<a href="http://sourceforge.net/svn/?group_id=204008">
<img src="images/package_development.png" width="128" height="128" />
</a>
</div>
<h2>Improve.</h2>
<ul>
<li><a href="http://sourceforge.net/tracker/?group_id=204008">Report a Bug</a></li>
<li><a href="http://sourceforge.net/tracker/?group_id=204008">Suggest a Feature</a></li>
<li><a href="http://sourceforge.net/tracker/?group_id=204008">Submit a Patch</a></li>
<li><a href="http://sourceforge.net/svn/?group_id=204008">Subversion Repository</a></li>
<br />
</ul>
</div>
</div>
<div class="belowfreedoms">
<p>
I'm developing phpCallGraph just for fun in my spare time
and I'm always eger on getting
<a href="https://lists.sourceforge.net/lists/listinfo/phpcallgraph-general">feedback</a>
or
<a href="http://sourceforge.net/tracker/?group_id=204008">feature requests</a>.
Especially, let me know if you are analyzing any free software,
since I collect <a href="examples/">example call graphs</a>.
If you would like to work with the code or
test some own visualization ideas, feel free to join the project.
I'm happy to give anyone, who is interested, access to the
<a href="http://sourceforge.net/svn/?group_id=204008">SVN Repository</a>.
Just drop me a mail to
<a href="https://sourceforge.net/sendmessage.php?touser=1029473">fakko at users dot sf dot net</a>.
<p>
Greetings from Berlin,<br />
Falko<br />
</div>
<h3>Other PHP Visualization Projects</h3>
<a href="http://westhoffswelt.de/projects/phuml.html">phUML - A UML generator for PHP</a>
(see <a href="http://phpcallgraph.sourceforge.net/examples/phuml/phuml.png">A Call Graph of phUML</a>)<br />
<a href="http://westhoffswelt.de/blog/class_dependency_graph_generation.html">A class graph generator</a>
(see also <a href="http://westhoffswelt.de/blog/class_dependency_graph_generation_update.html">this update</a>)<br />
<a href="http://phpdoc.org/">phpDocumentor - The documentation generator for PHP which also features partial call graphs</a>
<p>
<a href="http://www.gnu.org/licenses/gpl.html"><img src="./images/gplv3-127x51.png" alt="GPLv3 logo" title="GPLv3 - Free Software" /></a>
<a href="http://sourceforge.net/projects/phpcallgraph/"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=204008&amp;type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a>
<a href="http://instantsvc.sf.net/"><img src="images/instantsvc.png"></a>
<a href="http://ezcomponents.org/"><img src="images/ezcomponents.png"></a>&nbsp;
<script type="text/javascript" src="http://www.ohloh.net/projects/9063/widgets/project_partner_badge"></script>
</p>
</body>
</html>