Fork me on GitHub

Using the Composer Autoloader

This example illustrates the use of the Composer autoloader.

By default, the Jaxon library implements a simple autoloading mechanism by require_once'ing the corresponding PHP file for each missing class. When provided with the Composer autoloader, the Jaxon library registers all directories with a namespace into the PSR-4 autoloader, and it registers all the classes in directories with no namespace into the classmap autoloader.

How it works

Include the Composer autoload.php file, and call the $jaxon->useComposerAutoloader() function. Register the classes in the namespaces defined here with Jaxon.

require(__DIR__ . '/vendor/autoload.php');

$jaxon = jaxon();

// Use the Composer autoloader

// Add class dirs with namespaces
$jaxon->addClassDir('/jaxon/class/dir/app', 'App');
$jaxon->addClassDir('/jaxon/class/dir/ext', 'Ext');

// Check if there is a request.
    // When processing a request, the required class will be autoloaded
    // The Jaxon objects are registered only when the page is generated