protected function loadModules()
{
$modules = BackendModel::getModules();
foreach ($modules as &$module) {
// class names of the API file are always based on the name o/t module
$className = 'Backend\\Modules\\' . $module . '\\Engine\\Api';
if ($module == 'Core') {
$className = 'Backend\\Core\\Engine\\Api';
}
/*
* check if the api.php file exists for this module, and load it so our methods are
* accessible by the Reflection API.
*/
if (!class_exists($className)) {
continue;
}
$methods = get_class_methods($className);
// we will need the parameters + PHPDoc to generate our text fields
foreach ($methods as $key => $method) {
$methods[$key] = array('name' => $method, 'parameters' => $this->loadParameters($className, $method));
}
// properly format so an iteration can do the work for us
$this->modules[] = array('name' => $module, 'methods' => $methods);
}
}