getPrefixes(); if (!array_key_exists($appName . '\\', $prefixes)) { \Awf\Autoloader\Autoloader::getInstance() ->addMap($appName . '\\', JPATH_SITE . '/components/' . $componentName) ->addMap($appName . 'Admin\\', JPATH_ADMINISTRATOR . '/components/' . $componentName) ->addMap($appName . '\\', JPATH_SITE . '/components/' . $componentName . '/' . $appName) ->addMap($appName . 'Admin\\', JPATH_ADMINISTRATOR . '/components/' . $componentName . '/' . $appName); } // Load Joomla!-specific translation files \Awf\Platform\Joomla\Helper\Helper::loadTranslations($componentName); // Find the name of the DI container class suitable for this component $appName = \Awf\Platform\Joomla\Helper\Helper::isBackend() ? ($appName . 'Admin') : $appName; $containerClass = "\\$appName\\Container\\Container"; if (!class_exists($containerClass, true)) { $containerClass = '\Awf\Platform\Joomla\Container\Container'; } if (!isset($containerOverrides)) { $containerOverrides = array(); } if (!isset($containerOverrides['application_name'])) { $containerOverrides['application_name'] = $appName; } // Try to create a new DI container try { $container = new $containerClass($containerOverrides); } catch (Exception $exc) { $filename = null; if (isset($application)) { if ($application instanceof \Awf\Application\Application) { $template = $application->getTemplate(); if (file_exists(APATH_THEMES . '/' . $template . '/error.php')) { $filename = APATH_THEMES . '/' . $template . '/error.php'; } } } if (is_null($filename)) { die($exc->getMessage()); } include $filename; } // Finally, unset the temporary variables polluting your namespace unset($prefixes); unset($appName); unset($containerClass); unset($containerOverrides); unset($componentName);