src/MvcCore/Ext/Debugs/Tracys/RoutingPanel.php
protected function completeParams (\MvcCore\IRoute & $route, $paramsNames = [], $useDefaults = TRUE) {
		$result = [];
		if ($this->defaultLang !== NULL) {
			$result['lang'] = '<span class="tracy-dump-string">"' . $this->requestLang . '"</span><br />';
		}
		if (!$paramsNames) return $result;
		$routeDefaults = $this->getRouteLocalizedRecord($route, 'GetDefaults');
		$routeDefaultsKeys = array_keys($routeDefaults);
		if ($useDefaults) {
			$paramValues = $routeDefaults;
		} else {
			$paramValues = $this->requestParams;
		}
		$router = & $this->router;
		$ctrlParamName = $router::URL_PARAM_CONTROLLER;
		$actionParamName = $router::URL_PARAM_ACTION;
		foreach ($paramsNames as $key => $paramName) {
			if ($paramName == $ctrlParamName || $paramName == $actionParamName) {
				if (!in_array($paramName, $routeDefaultsKeys, TRUE) && !isset($_GET[$paramName])) continue;
			}
			$paramValue = isset($paramValues[$paramName])
				? $paramValues[$paramName]
				: NULL;
			if ($key === 0 && $paramName === 0 && $paramValue === NULL) continue; // weird fix
			$paramNameEncoded = htmlSpecialChars($paramName, ENT_IGNORE, 'UTF-8');
			if ($paramValue === NULL) {
				$paramValueRendered = '<span class="tracy-dump-null">NULL</span><br />';
			} else if (is_string($paramValue)) {
				$paramValueRendered = '<span class="tracy-dump-string">"'
					. htmlSpecialChars($paramValue, ENT_IGNORE, 'UTF-8')
					. '"</span><br />';
			} else {
				$paramValueRendered = \Tracy\Dumper::toHtml($paramValue, [
					\Tracy\Dumper::COLLAPSE => TRUE,
					\Tracy\Dumper::LIVE => TRUE
				]);
			}
			$result[$paramNameEncoded] = $paramValueRendered;
		}
		return $result;
	}
protected function completeParams (\MvcCore\IRoute & $route, $paramsNames = [], $useDefaults = TRUE) {
		$result = [];
		if ($this->defaultLang !== NULL) {
			$result['lang'] = '<span class="tracy-dump-string">"' . $this->requestLang . '"</span><br />';
		}
		if (!$paramsNames) return $result;
		$routeDefaults = $this->getRouteLocalizedRecord($route, 'GetDefaults');
		$routeDefaultsKeys = array_keys($routeDefaults);
		if ($useDefaults) {
			$paramValues = $routeDefaults;
		} else {
			$paramValues = $this->requestParams;
		}
		$router = & $this->router;
		$ctrlParamName = $router::URL_PARAM_CONTROLLER;
		$actionParamName = $router::URL_PARAM_ACTION;
		foreach ($paramsNames as $key => $paramName) {
			if ($paramName == $ctrlParamName || $paramName == $actionParamName) {
				if (!in_array($paramName, $routeDefaultsKeys, TRUE) && !isset($_GET[$paramName])) continue;
			}
			$paramValue = isset($paramValues[$paramName])
				? $paramValues[$paramName]
				: NULL;
			if ($key === 0 && $paramName === 0 && $paramValue === NULL) continue; // weird fix
			$paramNameEncoded = htmlSpecialChars($paramName, ENT_IGNORE, 'UTF-8');
			if ($paramValue === NULL) {
				$paramValueRendered = '<span class="tracy-dump-null">NULL</span><br />';
			} else if (is_string($paramValue)) {
				$paramValueRendered = '<span class="tracy-dump-string">"'
					. htmlSpecialChars($paramValue, ENT_IGNORE, 'UTF-8')
					. '"</span><br />';
			} else {
				$paramValueRendered = \Tracy\Dumper::toHtml($paramValue, [
					\Tracy\Dumper::COLLAPSE => TRUE,
					\Tracy\Dumper::LIVE => TRUE
				]);
			}
			$result[$paramNameEncoded] = $paramValueRendered;
		}
		return $result;
	}
Complete fourth column (and fifth if matched) params collection string for template.
@param \MvcCore\IRoute $route
@param array $paramsNames Array with param keys to render.
@param bool  $useDefaults If `TRUE`, render params from route defaults, if `FALSE`, render params from request params.
@return array