protected function createMinifyOutput() { $measurements = $this->minifyContext->getMeasurement(); $referencePoints = Collection::make($measurements->getReferencePoints()); $totalBytesSavedPercentage = 0; $lastReferencePoint = null; $rows = $referencePoints->map(function (ReferencePoint $referencePoint) use(&$lastReferencePoint, &$totalBytesSavedPercentage) { $bytesSaved = ''; $bytesSavedPercentage = ''; if ($lastReferencePoint != null) { $bytesSaved = $lastReferencePoint->getKiloBytes() - $referencePoint->getKiloBytes(); $totalBytesSavedPercentage += $bytesSavedPercentage = $this->calculateImprovementPercentage($referencePoint->getKiloBytes(), $lastReferencePoint->getKiloBytes()); $bytesSavedPercentage = round(abs($bytesSavedPercentage), 1) . '%'; } $lastReferencePoint = $referencePoint; return [$referencePoint->getName(), round($referencePoint->getKiloBytes(), 1), round($bytesSaved, 1), $bytesSavedPercentage]; }); $rows[] = ['Total', round($referencePoints->last()->getKiloBytes(), 1), abs(round($referencePoints->last()->getKiloBytes() - $referencePoints->first()->getKiloBytes(), 1)), abs(round($totalBytesSavedPercentage, 1)) . '%']; $this->table(['Minification strategy', 'Size (KB)', 'Saved (KB)', 'Size (%)'], $rows); }