<?php
/*
An autoloader for ReCaptcha\Foo classes. This should be required()
* by the user before attempting to instantiate any of the ReCaptcha
* classes.
*/
spl_autoload_register(
function ( $class ) {
if ( substr( $class, 0, 10 ) !== 'ReCaptcha\\' ) {
/*
If the class does not lie under the "ReCaptcha" namespace,
* then we can exit immediately.
*/
return;
}
/*
All of the classes have names like "ReCaptcha\Foo", so we need
* to replace the backslashes with frontslashes if we want the
* name to map directly to a location in the filesystem.
*/
$class = str_replace( '\\', '/', $class );
/*
First, check under the current directory. It is important that
* we look here first, so that we don't waste time searching for
* test classes in the common case.
*/
$path = dirname( __FILE__ ) . '/' . $class . '.php';
if ( is_readable( $path ) ) {
require_once $path;
return;
}
/*
If we didn't find what we're looking for already, maybe it's
* a test class?
*/
$path = dirname( __FILE__ ) . '/../tests/' . $class . '.php';
if ( is_readable( $path ) ) {
require_once $path;
}
}
);