define('RESOURCE_PATH', ROOT_PATH . 'resource' . DIRECTORY_SEPARATOR); define('MODULE_PATH', ROOT_PATH . 'modules' . DIRECTORY_SEPARATOR); $classLoader = (require VENDOR_PATH . 'autoload.php'); require SLIM_PATH . 'Helpers' . DIRECTORY_SEPARATOR . 'functions.php'; /** * Load the configuration */ $config = array('path.app' => APP_PATH, 'path.root' => ROOT_PATH, 'path.slim' => SLIM_PATH, 'path.cache' => CACHE_PATH, 'path.public' => PUBLIC_PATH, 'path.module' => MODULE_PATH, 'path.resource' => RESOURCE_PATH); $clearCache = false; if (isset($_REQUEST['clear_cache'])) { $clearCache = true; } /** include Config files */ $config += ConfigWorker::init($clearCache)->all(); if (!isset($config['slim'])) { $container = new Container(['debug' => true, 'use_log' => false, 'determineRouteBeforeAppMiddleware' => true, 'displayErrorDetails' => true]); $app = AppFactory::setInstance(new SlimCMS($container)); ModuleLoader::bootEasyModule(new Modules\SystemInstaller\Module()); return $app; } if ($config['slim']['settings']['debug']) { error_reporting(E_ALL ^ E_NOTICE); } $container = new Container($config['slim']); $container->config = $config; $app = AppFactory::setInstance(new SlimCMS($container)); $container->modules = new SModuleManager($clearCache); $container->modules->loadModules(MODULE_PATH); ModuleLoader::bootCore($container->modules->module('Core')); ModuleLoader::bootLoadModules($container->modules); return $app;
/** * @param bool $cache */ public function __construct($cache) { $this->filesystem = new Filesystem(); $this->moduleContainer = new Container(); $this->cache = !$cache; $container = AppFactory::getInstance()->getContainer(); $container['cache'] = function () { $cacheContainer = new Container(); $cacheContainer->singleton('files', function () { return new Filesystem(); }); $cacheContainer->singleton('config', function () { return AppFactory::getInstance()->getContainer()->config['cache']; }); return new CacheManager($cacheContainer); }; $this->cacheManager = $container->get('cache'); }
public function beforeInitialization() { $this->app = AppFactory::getInstance(); $this->container = $this->app->getContainer(); }
protected static function checkDependency($arDependency = false) { if (!$arDependency || !is_array($arDependency)) { return; } foreach ($arDependency as $name) { if (self::$loadedModules[$name]) { continue; } if (self::$moduleContainer[$name]) { if (!self::$moduleContainer[$name]->config->installed) { continue; } if (!self::$moduleContainer[$name]->config->active) { AppFactory::getInstance('logger')->info("Module \"{$name}\" not active"); continue; } self::bootModuleContainer(self::$moduleContainer[$name]); } else { AppFactory::getInstance('logger')->error("Can't find module \"{$module}\" in container"); } } }