public static function run($config) { try { self::$config = $config; self::$appName = $config['appName']; self::$layout = $config['layout']; self::$path = $config['path']; self::$params = $config['params']; self::importClasses(); self::startController(); } catch (\AppException $e) { echo $e; } }
/** * Creates instance of App class and initialize the application * * @param array $params initialization parameters * @return void * @static */ public static function create(array $params = null) { self::$app_mode = self::MODE_DEVELOPMENT; if (is_null(self::$instance)) { self::$instance = new self(); } // setting up autoloader spl_autoload_register(array('App', 'autoload')); try { // setup config Config::create(isset($params['config']) ? $params['config'] : null); Config::setVar($params); // application mode self::setMode(Config::getVar('mode', self::MODE_DEVELOPMENT)); // our error handler if (!self::isDevMode()) { set_error_handler(array('App', 'handleErrors')); } // language specific params if (function_exists('mb_internal_encoding')) { mb_internal_encoding(Config::getVar('app_encoding', 'UTF-8')); } if (function_exists('date_default_timezone_set')) { date_default_timezone_set(Config::getVar('app_timezone', 'UTC')); } setlocale(LC_CTYPE, Config::getVar('app_locale', 'en_US.UTF-8')); // creating base objects Log::create(); Request::create(); // saving application params self::$params = $params; // unregister globals if (ini_get('register_globals')) { self::unregisterGlobals(array('_POST', '_GET', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES')); ini_set('register_globals', false); } } catch (Exception $e) { self::$instance->handleDefaultException($e); } }
/** * @covers \Phix\App::params */ public function testParams() { $params = array('foo' => 'bar', 'bar' => 'baz'); $app = new App(); $this->assertSame(array(), $app->params()); $app->params($params); $this->assertEquals($params, $app->params()); $app->param('ping', 'pong'); $this->assertEquals($params + array('ping' => 'pong'), $app->params()); $ret = $app->params($params, true); $this->assertEquals($params, $app->params()); $this->assertEquals($ret, $app); }