public function optimizeOrder(OptimizeOrderInterface $optimizeStrategy): void
    {
        $optimizedOrder = $optimizeStrategy->optimize($this->buildTree());

        // Sort the $optimizedOrder array to have the same order as corresponding array of processes
        // (so that the array could be passed to array_multisort())
        $sortingArray = [];
        foreach ($this->processes as $processClassName => $processObject) {
            $sortingArray[$processClassName] = $optimizedOrder[$processClassName];
        }

        // Sort processes descending according to corresponding values in $sortingArray
        array_multisort($sortingArray, SORT_DESC, SORT_NUMERIC, $this->processes);
    }
public function optimizeOrder(OptimizeOrderInterface $optimizeStrategy): void
    {
        $optimizedOrder = $optimizeStrategy->optimize($this->buildTree());

        // Sort the $optimizedOrder array to have the same order as corresponding array of processes
        // (so that the array could be passed to array_multisort())
        $sortingArray = [];
        foreach ($this->processes as $processClassName => $processObject) {
            $sortingArray[$processClassName] = $optimizedOrder[$processClassName];
        }

        // Sort processes descending according to corresponding values in $sortingArray
        array_multisort($sortingArray, SORT_DESC, SORT_NUMERIC, $this->processes);
    }
public function optimizeOrder ( OptimizeOrderInterface $ optimizeStrategy ) : void { $ optimizedOrder = $ optimizeStrategy -> optimize ( $ this -> buildTree ( ) ) ; // Sort the $optimizedOrder array to have the same order as corresponding array of processes // (so that the array could be passed to array_multisort()) $ sortingArray = [ ] ; foreach ( $ this -> processes as $ processClassName => $ processObject ) { $ sortingArray [ $ processClassName ] = $ optimizedOrder [ $ processClassName ] ; } // Sort processes descending according to corresponding values in $sortingArray array_multisort ( $ sortingArray , SORT_DESC , SORT_NUMERIC , $ this -> processes ) ; }
Optimize order of processes using given strategy.
Optimize order of processes using given strategy .