- spl_autoload_register: documentation ( source)
- var_dump: documentation ( source)
<?php
spl_autoload_register(function ($class) {
if ('Foo' === $class) {
class Foo implements Foointerface {}
} elseif ('Foointerface' === $class) {
throw new Exception();
}
});
try {
// First call triggers the autoloader
new Foo();
} catch (Exception $e) {}
// For the second call Foo is loaded
var_dump(new Foo());
// Even though it’s missing the interface
var_dump(new Foo() instanceof Foointerface);
var_dump((new ReflectionClass('Foo'))->getInterfaces());