/** * Apply query defaults, appends, invariants. * * @param ParamBag $params Parameters * @param array $defaults Query defaults * @param array $appends Query appends * @param array $invariants Query invariants * * @return void */ protected function apply(ParamBag $params, array $defaults, array $appends, array $invariants) { $final = $params->getArrayCopy(); $final = array_replace($defaults, $final); $final = array_merge_recursive($final, $appends); $final = array_replace($final, $invariants); $params->exchangeArray($final); }