La estructura de directorios del proyecot Laravel WebP es la siguiente:
laravel-webp/
├── config/
│ └── webp.php
├── src/
│ ├── Webp.php
│ └── ...
├── tests/
│ └── ...
├── .editorconfig
├── .gitattributes
├── .gitignore
├── composer.json
├── LICENSE
├── README.md
└── phpunit.xml
Descripción de directorios
config/: Alberga los archivos de configuración del proyecto.src/: Contiene los archivos principales del código fuente.tests/: Incluye los archivos de pruebas del proyecto..editorconfig: Configuración del editor..gitattributes: Configuración de atributos de Git..gitignore: Archivos ignorados por Git.composer.json: Archivo de gestión de dependencias de Composer.LICENSE: Licencia del proyecto.README.md: Documentación del proyecto.phpunit.xml: Configuración de pruebas PHPUnit.
2. Archivo de inicio del poryecto
El archivo principal de inicio es src/Webp.php, el cual contiene la lógica fundamental para la conversión de imágenes a formato WebP. A continuación se muestra un ejemplo parcial del código:
<?php
namespace MiEmpresa\ConversorWebp;
use Illuminate\Http\UploadedFile;
use Intervention\Image\Facades\Image;
class ConversorImagen
{
protected $archivo;
public function __construct(UploadedFile $archivo)
{
$this->archivo = $archivo;
}
public static function crear(UploadedFile $archivo)
{
return new self($archivo);
}
public function exportar($rutaSalida, $calidad = 80)
{
$imagen = Image::make($this->archivo);
return $imagen->encode('webp', $calidad)->save($rutaSalida);
}
}
Descripción del archivo de inicio
- Clase
ConversorImagen: Encargada de gestionar la conversión de imágenes al formato WebP. - Método
crear: Enstancia un nuevo objeto de la claseConversorImagen. - Método
exportar: Guarda la imagen convertida en formato WebP, permitiendo especificar la calidad de la imagen.
3. Archivo de configuración del proyecto
El archivo de configuración se encuentra en config/webp.php. A continuación se presenta un ejemplo del contenido:
<?php
return [
'driver' => env('WEBP_DRIVER', 'gd'),
'quality' => env('WEBP_QUALITY', 80),
];
Descripción del archivo de configuración
driver: Define el controlador de procesamiento de imágenes a utilizar. Por defecto se empleagd.quality: Establece la calidad de la imagen WebP generada. El valor predeterminado es 80.
Mediante esta configuración es posible ajustar de manera flexible el controlador de procesamiento y la calidad de conversión de imágenes WebP.