Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/vendor/spatie/image-optimizer/src/ |
<?php
namespace Spatie\ImageOptimizer;
use Spatie\ImageOptimizer\Optimizers\Cwebp;
use Spatie\ImageOptimizer\Optimizers\Gifsicle;
use Spatie\ImageOptimizer\Optimizers\Jpegoptim;
use Spatie\ImageOptimizer\Optimizers\Optipng;
use Spatie\ImageOptimizer\Optimizers\Pngquant;
use Spatie\ImageOptimizer\Optimizers\Svgo;
class OptimizerChainFactory
{
public static function create(array $config = []): OptimizerChain
{
$jpegQuality = '--max=85';
$pngQuality = '--quality=85';
if (isset($config['quality'])) {
$jpegQuality = '--max='.$config['quality'];
$pngQuality = '--quality='.$config['quality'];
}
return (new OptimizerChain())
->addOptimizer(new Jpegoptim([
$jpegQuality,
'--strip-all',
'--all-progressive',
]))
->addOptimizer(new Pngquant([
$pngQuality,
'--force',
'--skip-if-larger',
]))
->addOptimizer(new Optipng([
'-i0',
'-o2',
'-quiet',
]))
->addOptimizer(new Svgo([
'--disable={cleanupIDs,removeViewBox}',
]))
->addOptimizer(new Gifsicle([
'-b',
'-O3',
]))
->addOptimizer(new Cwebp([
'-m 6',
'-pass 10',
'-mt',
'-q 80',
]));
}
}