return; }); RequirePHP::_('circ2', array('circ1'), function ($circ1) { return; }); RequirePHP::_(array('circ1'), function ($circ1) { echo '<p>This shouldn\'t have run!!</p>'; }); } catch (RequireTooDeepException $e) { RequirePHP::undef('circ1'); echo '<p>Circular dependencies don\'t crash the script!! Yay!! See the message: ' . $e->getMessage() . '</p>'; } // Let's test alias and module removal. RequirePHP::_('removemodule', array(), function () { echo '<p>Uh oh. Module removal failed. :(</p>'; }); RequirePHP::alias('removealias', 'removemodule'); RequirePHP::undefAlias('removealias'); RequirePHP::_(array('removealias'), function () { echo '<p>Uh oh. Alias removal failed. :(</p>'; }); $failed = false; RequirePHP::undef('removemodule'); RequirePHP::_(array('removemodule'), function () { global $failed; $failed = true; return; }); if (!$failed) { echo '<p>Looks like alias and module removal passed! :)</p>'; }