sRoute = $sRoute; $this->aParams = $aParams; $this->aPostParams = $aPostParams; } /** @inheritDoc */ public function GetType(): string { return iDataProvider::TYPE_AJAX_PROVIDER; } /** * SetParam. * * @param string $sName * @param string $sValue * * @return $this */ public function SetParam(string $sName, string $sValue): AjaxDataProvider { $this->aParams[$sName] = $sValue; return $this; } /** * GetParam. * * @param string $sName * * @return string */ public function GetParam(string $sName): string { return $this->aParams[$sName]; } /** * GetParams. * * @return array */ public function GetParams(): array { return $this->aParams; } /** * GetParamsAsQueryString. * * @return string */ public function GetParamsAsQueryString(): string { $aFlattened = $this->aParams; array_walk($aFlattened, function (&$sValue, $key) { $sValue = "{$key}={$sValue}"; }); return '&'.implode('&', $aFlattened); } /** * GetPostParamsAsJsonString. * * @return string */ public function GetPostParamsAsJsonString(): string { return json_encode($this->aPostParams); } /** * SetPostParam. * * @param string $sName * @param $oValue * * @return $this */ public function SetPostParam(string $sName, $oValue): AjaxDataProvider { $this->aPostParams[$sName] = $oValue; return $this; } /** * GetRoute. * * @return void */ public function GetRoute(): string { return $this->sRoute; } /** * Return maximum results count. * * @return int */ public function GetMaxResults(): int { return $this->iMaxResults; } }