outboundProcessors[$priority][] = $processor; $this->sortedOutbound = []; } /** * {@inheritdoc} */ public function processOutbound($route_name, Route $route, array &$parameters, BubbleableMetadata $bubbleable_metadata = NULL) { $processors = $this->getOutbound(); foreach ($processors as $processor) { $processor->processOutbound($route_name, $route, $parameters, $bubbleable_metadata); } } /** * Returns the sorted array of outbound processors. * * @return array * An array of processor objects. */ protected function getOutbound() { if (empty($this->sortedOutbound)) { $this->sortedOutbound = $this->sortProcessors(); } return $this->sortedOutbound; } /** * Sorts the processors according to priority. */ protected function sortProcessors() { krsort($this->outboundProcessors); return array_merge(...$this->outboundProcessors); } }