Laravel Image Optimizer 使用教程
项目介绍
Laravel Image Optimizer 是一个用于优化图像的开源项目,适用于 Laravel 应用程序。该项目能够自动检测系统上安装的优化二进制文件并使用它们来优化图像,从而减小图像文件的大小,提高应用程序的性能。
项目快速启动
安装
首先,通过 Composer 安装 Laravel Image Optimizer:
composer require spatie/laravel-image-optimizer
配置
发布配置文件:
php artisan vendor:publish --provider="Spatie\LaravelImageOptimizer\ImageOptimizerServiceProvider"
使用
优化图像的基本用法如下:
use Spatie\ImageOptimizer\ImageOptimizer;
// 优化图像并替换原文件
ImageOptimizer::optimize($pathToImage);
// 优化图像并保存到新文件
ImageOptimizer::optimize($pathToImage, $pathToOptimizedImage);
如果不使用外观模式,可以直接从容器中解析配置好的实例:
app(Spatie\ImageOptimizer\OptimizerChain::class)->optimize($pathToImage);
应用案例和最佳实践
自动优化上传的图像
在 app/Http/Kernel.php
中添加中间件以自动优化所有上传的图像:
protected $middlewareAliases = [
'optimizeImages' => \Spatie\LaravelImageOptimizer\Middlewares\OptimizeImages::class,
];
自定义优化器
可以通过添加自定义优化器来扩展功能:
use Spatie\ImageOptimizer\OptimizerChainFactory;
use Spatie\ImageOptimizer\Optimizers\YourCustomOptimizer;
$optimizerChain = OptimizerChainFactory::create();
$optimizerChain->addOptimizer(new YourCustomOptimizer())->optimize($pathToImage);
典型生态项目
spatie/image-optimizer
spatie/image-optimizer 是 Laravel Image Optimizer 的基础库,提供了图像优化的核心功能。它支持多种图像格式,并可以通过配置文件进行详细设置。
spatie/laravel-medialibrary
spatie/laravel-medialibrary 是一个用于管理媒体文件的 Laravel 包,可以与 Laravel Image Optimizer 结合使用,实现上传和优化媒体文件的功能。
通过以上步骤,您可以快速启动并使用 Laravel Image Optimizer 优化您的 Laravel 应用程序中的图像,提升应用性能。