/** * Initialise the application * * @return void */ public static function init() { // Instantiate the application $app = Application::fromCwd(); // Give proxies an instance of the application $app->initializeProxies(); // Boot the app $app->boot(); static::$appPath = \App::appPath(); static::$vendorPath = \App::vendorPath(); if (defined('COMPILING')) { static::$appPath = BUILD_PATH . '/app'; static::$vendorPath = BUILD_PATH . '/vendor'; } }
/** * @param string $appPath * @param string $env * * @return CompiledContainer */ public static function getContainer($appPath, $env = null) { static::$appPath = $appPath; static::$cachePath = $appPath . '/app/cache'; static::$configPath = $appPath . '/app/config'; $containerCacheFile = static::$cachePath . '/container.php'; $containerConfigCache = new ConfigCache($containerCacheFile, $env != 'prod'); if (!$containerConfigCache->isFresh()) { $containerBuilder = static::buildContainer(); $dumper = new PhpDumper($containerBuilder); $containerConfigCache->write($dumper->dump(array('class' => 'CompiledContainer')), $containerBuilder->getResources()); } require_once $containerCacheFile; $container = new CompiledContainer(); return $container; }
/** * Config Reading * @param $config */ private static function configRead($config) { if (isset($config['app_path'])) { static::$appPath = trim($config['app_path'], '/'); } if (isset($config['components'])) { if (isset($config['components']['db'])) { DfApp::app()->db = new DfDbConnection($config['components']['db']['link'], $config['components']['db']['user'], $config['components']['db']['password']); } } if (isset($config['logger']['path'])) { DfApp::app()->logger = new DfLogger($config['logger']['path']); } else { DfApp::app()->logger = new DfLogger(); } if (isset($config['errors'])) { if (isset($config['errors']['display'])) { switch ($config['errors']['display']) { case true: ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(isset($config['errors']['level']) ? $config['errors']['level'] : -1); break; case false: default: ini_set('display_errors', 0); ini_set('display_startup_errors', 0); error_reporting(0); break; } } if (isset($config['errors']['debug'])) { DfErrorHandler::$debug = $config['errors']['debug']; } if (isset($config['errors']['error_call'])) { DfErrorHandler::$errorCall = $config['errors']['error_call']; } } if (isset($config['router']['default'])) { if (isset($config['router']['default']['controller'])) { DfApp::app()->router->controller = $config['router']['default']['controller']; } if (isset($config['router']['default']['action'])) { DfApp::app()->router->action = $config['router']['default']['action']; } if (isset($config['router']['default']['id'])) { DfApp::app()->router->id = $config['router']['default']['id']; } } }