29 December 2010
Frequently Asked Questions
What's the history of PHPXref?
During 2000 I was working as lead developer on the community site, Linux.com (see also the original content) which involved working with quite a lot of code (many tens of thousands of lines) of varying quality contributed by a range of volunteers as well as some paid staff. As code documentation wasn't entirely consistent, working with/fixing code could often be difficult as it meant manually tracing function usage across multiple files.
To help speed things up I hacked together a small Perl script to generate an HTML-ized, cross-referenced version of the code that could easily be navigated with a browser. At the same time we formalized the use of comments in the code so that some manner of documentation could be auto-extracted from the source and used alongside the cross-referenced output.
As time has gone on, I've continued to find PHPXref a useful tool for day to day work with other large PHP projects and as a result the original code has had various other hacks added to it to produce the monstrosity you see today (and if you look at the source, you'll see that's the correct choice of word).
Can you add feature XYZ to PHPXref please?
Maybe. If it's something fairly straightforward and likely to benefit a lot of people using the program (hopefully including me ;-) ) then I'll add it. Having said that, the PHPXref parser is incredibly simplistic and really has very little idea about PHP syntax, so certain features are pretty much impossible to add without writing PHPXref itself.
Thus any feature request that requires PHPXref to have a more intimate knowledge of the scripts it's parsing (such as recognizing which variables in the current scope are global and which are local) is unlikely to happen.
If I send you a patch, will you include it?
Maybe, if it follow the same constraints as the rest of the program; ie. it doesn't require non-standard Perl modules to run, will work on Windows, will benefit more than a few people, etc. Contact me before you throw too much time at it ;-)
How can I report a bug or ask for a new feature?
Please make use of the SourceForge bug, features, support and patch trackers
I'm stuck - Can you help me make it work?
Feel free to use one of the trackers above, or drop me an email or you can often find me on IRC (irc.freenode.net / #phpxref).