public function getViewData () {
		if ($this->view !== NULL) return $this->view;
		$this->view = new \stdClass;
		try {
			// complete basic \MvcCore core objects to complete other view data
			$this->initMainApplicationProperties();
			// those cases are only when request is redirected very soon
			if ($this->router === NULL) return $this->view;
			// complete panel title
			$this->initViewPanelTitle();
			// complete routes table items
			$this->initViewPanelTableData();
			// complete requested URL data under routes table
			$this->initViewPanelRequestedUrlData();
		} catch (\Exception $e) {
			$this->_debug($e);
			$this->_debug($e->getTrace());
		}
		// debug code
		$this->view->_debugCode = $this->_debugCode;
		return $this->view;
	}