$configurator->enableDebugger(APP_DIR . '/log'); function barDump($x) { Debugger::barDump($x); } // Enable RobotLoader - this will load all classes automatically $configurator->setTempDirectory(APP_DIR . '/temp'); $configurator->createRobotLoader()->addDirectory(APP_DIR)->addDirectory(LIBS_DIR)->register(); // Create Dependency Injection container from config.neon files $configurator->addConfig(LIBS_DIR . '/npress/config.neon'); $configurator->addConfig(APP_DIR . '/config.neon'); $configurator->addConfig(WWW_DIR . '/data/config.neon'); if (file_exists(WWW_DIR . '/data/config.local.neon')) { $configurator->addConfig(WWW_DIR . '/data/config.local.neon'); } $container = $configurator->createContainer(); // Connect to the database dibi::connect($container->params['database']); // Setup router $container->router[] = $adminRouter = new RouteList('Admin'); $adminRouter[] = new Route('admin/<presenter>/<action>[/<id_page>]', 'Admin:default', isset($_SERVER['HTTPS']) ? Route::SECURED : false); $container->router[] = $frontRouter = new RouteList('Front'); $frontRouter[] = new Route('data/thumbs/<id>[.<opts>].png', 'Files:preview'); $frontRouter[] = new Route('files[/<action>][/<id>]', 'Files:default'); $frontRouter[] = new Route('index.php', 'Pages:default', Route::ONE_WAY); $frontRouter[] = new PagesRouter(); $frontRouter[] = new RedirectRouter(); $frontRouter[] = new Route('<presenter>[/<action>]/<id_page>', array('presenter' => 'Pages', 'action' => 'default', 'id_page' => 1)); // Include app specific bootstrap.php if (file_exists(APP_DIR . '/bootstrap.php')) { require_once APP_DIR . '/bootstrap.php';
/** * Loads global configuration from file and process it. * @param string * @param string * @return ArrayHash */ public static function loadConfig($file = NULL, $section = NULL) { if (self::$createdAt) { throw new InvalidStateException('Configurator has already been created automatically by Environment at ' . self::$createdAt); } $configurator = new Configurator(); $configurator->setDebugMode(!self::isProduction())->setTempDirectory(defined('TEMP_DIR') ? TEMP_DIR : ''); if ($file) { $configurator->addConfig($file, $section); } self::$context = $configurator->createContainer(); self::$createdAt = '?'; foreach (PHP_VERSION_ID < 50205 ? debug_backtrace() : debug_backtrace(FALSE) as $row) { if (isset($row['file']) && is_file($row['file']) && strpos($row['file'], NETTE_DIR . DIRECTORY_SEPARATOR) !== 0) { self::$createdAt = "{$row['file']}:{$row['line']}"; break; } } return self::getConfig(); }