Files
roxane/app/Support/CacheLineOutput.php
2026-04-10 12:16:18 +02:00

23 lines
639 B
PHP

<?php
namespace App\Support;
use Illuminate\Support\Facades\Cache;
use Symfony\Component\Console\Output\Output;
class CacheLineOutput extends Output
{
public function __construct(private readonly string $cacheKey)
{
parent::__construct(self::VERBOSITY_NORMAL);
}
protected function doWrite(string $message, bool $newline): void
{
$current = Cache::get($this->cacheKey, []);
$clean = preg_replace('/\x1b\[[0-9;]*m/', '', $message);
$current['output'] = ($current['output'] ?? '').$clean.($newline ? "\n" : '');
Cache::put($this->cacheKey, $current, now()->addHour());
}
}