Version 0.7.1
29 December 2010


Frequently Asked Questions


Screenshot Screenshot

Try it for yourself by browsing the Xaraya source code and taking a look at the phpxref.cfg file used to generate the output.

Rate It

Like PHPXref? You can rate it at


  • PHP
    The web scripting language that PHPXref was written for.
  • PHPDoc
    Generates attractive documentation from your PHP code.
  • TinyPerl
    Neat utility for turning Perl scripts into standalone Windows executables.
    Library of cross referenced open source projects.


What's the history of PHPXref?
During 2000 I was working as lead developer on the community site, (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).

Why is PHPXref written in Perl rather than PHP?
A number of reasons..:

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.

Do you have plans to rewrite PHPXref?
No, no at the moment — PHPXref easily works "well enough" for my needs and I can live without the few extra features that better parsing would provide.

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 ( / #phpxref).

©2000-2010 Gareth Watts
connect failed