/** * Initialize Application * @param Configuration $configuration */ public function __construct($configuration = null) { if ($configuration) { if (isset($configuration->database)) { Database::$configuration = new Object($configuration->database); } // initialize session if configured if (isset($configuration->session)) { $this->session = new Session($configuration->session); } // initialize language if configured if (isset($configuration->language)) { $this->language = new Language($configuration->language); } // initialize template if configured if (isset($configuration->template)) { $this->template = new Template($configuration->template); } // save pages json if (isset($configuration->pages)) { Page::$pages = (array) json_decode(file_get_contents($configuration->pages)); } // save configuration Application::$configuration = $this->configuration = $configuration; } }