The AR module introduced in 2.6.1 will be the basis for the new Ariadne Core Libraries. This is a unified set of libraries that incorporate all the functionality from modules, classes, loader and the store. Designed with all the new capabilities of PHP 5 in mind, it's a whole new way of working with Ariadne.
Ariadne Core Libraries is the name for the new structured and namespaced set of modules and libraries with which you as a programmer can access all the functionality of Ariadne.
This set of libraries can be accessed in a simple and universal way, it doesn't matter if you are creating a PINP library or extending Ariadne itself. All access is through the ar() method or the ar namespace. e.g.:
echo ar('http/headers')->redirect('http://www.muze.nl/'); echo ar('html')->form('name', 'address');
Since PHP 5.3 is not yet released Ariadne doesn't use 'real' namespaces. This means Ariadne will run on any PHP 5 version. The Ariadne Core Libraries are future-proof in that they will switch to use real PHP namespace when it becomes practicle, without a need to change any code using them.
The proposed structure of the Ariadne Core Libraries is as follows:
| ar\html form, table, clean, tidy |
ar\loader http, cli, soap, webdav, ftp |
ar\convert html2pdf, html2ps, unicode |
| ar\connect db, soap, xml-rpc, webdav, ftp, gmap |
ar\format csv, rss, wddx, json, xml, isbn, pdf |
ar\util error, debug, edit, mime, password, keepurl |
Ariadne Core (not accessible through pinp):
| ar\core\store abstract, mysql, postgresql, oracle, mssql, ax |
ar\core\loader http, webdav, ftp |
ar\core\objects pobject, pshortcut, ppage, ... |
When programming in Ariadne internally (in PHP, not PINP), you can also use the following style:
echo ar_html::form('name', 'address');
This is a bit faster, since the class is only located once through PHP 5's autoload mechanism. After that there is no more overhead. With PHP 5.3, with real namespace support, the following will work in PINP as well as PHP:
echo ar\http\headers::redirect('http://www.muze.nl/');