The Live for speed Parsing Provider Framework Version 2 is currently in alpha stages. The API is mostly stable, but some of it is still subject to change, and some of the formats returned by the LFSW proivders are definately going to change.
Since you are reading this, I'll assume you've opened the index.html file in the doxygen documentation.
PPF2 is a set of classes and functions all related to getting and parsing data from lfsworld.net. (More info available here http://www.lfsforum.net/showthread.php?t=183 ).
In short, LFSWorld provides up to date data relating to the Live For Speed game much like an XML based web services might. However, LFSWorld uses its own formats.
It is structured in layers which are, going from bottom to top;
In short, providers take care of the "lower level" stuff if there is such a thing in PHP. The providers are responsible for making the HTTP request, uncompressing the data, and subsequently parsing it in to a PHP usable format.
If you were to compare PPF to a music player, the providers would be the codecs that interpret the individual formats.
The GenericPPFInterface makes up the next layer. It allows you to hand it a compatible cache object, a compatible provider object and some parameters for the remote script and it will make the request for you, and take care of caching and error handling. It also gathers useful meta data about the request.
If you go back to the music player analogy, the GenericPPFInterface is like a command line interface. It is really powerful, but also harder to use than its GUI counterpart.
LFSWInterface adds the final niceties to PPF. It allows you to simply create the LFSWInterface object, make one function call with some parameters and bobs your aunty, you have some results (or some useful error messages).
Again, going back to the music player, LFSWInterface is the nice shiny GUI that lets you forget about what is under the hood.
Quite a few people don't have the time, or the experience to write their own parsers and have them behave as well and as quickly as PPF does. Version 1 severely lacked documentation, yet still people were using it. Version 2 is going to remedy that with a full user guide.
Other solutions have popped up since PPF1, but none offer as much flexibility or features as PPF.
In order to get PPF up and running, you need the following; PEAR packages Net_URL, Net_Socket, HTTP_Request & Cache_Lite...
PPF2 comes bundled with them. If you don't want to use the bundled ones, simply delete the PEAR sub-direcory in the LFSW-PPF directory.
All you really need to do is make sure that you have a PHP4.3.0+ enabled webserver to boot & that the 'datacache' directory is writable by PHP.
If all is in check, you can now go to the samples directory on the webserver and launch the samples (only 1 atm I'm afraid). You should be presented with a list of LFS hosts, or an error if something went awry.
This file does not cover all aspects of PPF. It doesn't even touch on the format conversion lookups (PPFBaseLookup), the codepage and colour processing LFSStringProc, or the fact that there is actually an SQL cache solution available ((LFSWorldSQLCache) mainly because it only supports one provider atm). However, browsing the source alone should give you a fair idea of my PHP abilities.
If you would like any further explanation of PPF do not hesitate to contact me. Mike Simons(Anarchi-h/Ixulai); ixulai@gmail.com)