pinimize/laravel-lzf-compresssion

用于LZF压缩的Laravel包。

v0.1.0 2024-08-27 17:40 UTC

This package is auto-updated.

Last update: 2024-09-01 16:46:48 UTC


README

Latest Version on Packagist Tests License

本包为Laravel的Pinimize压缩和归档包提供LZF压缩支持。

要求

  • PHP 8.2或更高版本
  • Laravel 11或更高版本
  • 必须安装并启用ext-lzf PHP扩展

安装

首先,确保已经安装了LZF PHP扩展。您可以通过运行以下命令来检查:

php -m | grep lzf

如果您在输出中看不到'lzf',您需要先安装扩展才能继续。

一旦安装了LZF扩展,您就可以通过Composer安装包

composer require pinimize/laravel-lzf-compresssion

先决条件

本包是Pinimize压缩和归档包的扩展。主Pinimize包将作为本包的依赖项自动安装。

配置

安装后,您需要将LZF驱动配置添加到您的config/pinimize.php文件中。如果您尚未发布主配置文件,可以通过运行以下命令来完成:

php artisan vendor:publish --provider="Pinimize\PinimizeServiceProvider" --tag="config"

将以下内容添加到drivers数组中

'lzf' => [
    'disk' => env('COMPRESSION_DISK', null),
],

您的完整压缩配置应类似于以下内容

'compression' => [
    'default' => env('COMPRESSION_DRIVER', 'gzip'),
    'mixin' => env('COMPRESSION_REGISTER_MIXIN', true),
    'drivers' => [
        ... // Other drivers
        'lzf' => [
            'disk' => env('COMPRESSION_DISK', null),
        ],
    ],
],

用法

配置完成后,您可以使用LZF驱动程序,就像使用Pinimize中的其他任何压缩驱动程序一样。主Pinimize包中所有可用方法均通过LZF驱动程序完全支持。例如

use Illuminate\Support\Str;
use Illuminate\Support\Facades\Storage;
use Pinimize\Facades\Compression;
use Pinimize\Facades\Decompression;

// When you have made lzf the default driver in your configuration:
$compressedStringZlib = Str::compress($originalString);
$decompressedStringGzip = Str::decompress($compressedStringGzip);

// By specifying the driver:
$compressedStringZlib = Str::compress($originalString, 'lzf');
$decompressedStringGzip = Str::decompress($compressedStringGzip, 'lzf');

// Or with the Storage facade:
Storage::compress('/path/to/original.json', '/path/to/compressed.json.lzf');
Storage::decompress('/path/to/compressed.json.lzf', '/path/to/decompressed.json');

// Compress a string using LZF
$compressed = Compression::driver('lzf')->string('Hello, World!');

// Default driver
$compressed = Compression::string('Hello, World!');
Compression::put('path/to/compressed.csv.lzf', '/path/to/original.csv');

有关更详细的用法说明和可用方法的完整列表,请参阅Pinimize压缩和归档文档

重要提示

  1. LZF压缩算法不支持压缩级别。配置中的level参数对于LZF驱动程序将被忽略。
  2. 此包要正常工作,必须在您的服务器上安装LZF扩展。如果您使用的是托管主机服务,可能需要联系您的托管服务提供商以安装它。

贡献

欢迎贡献!请随时提交Pull Request。

测试

使用以下命令运行测试:

composer test

变更日志

有关最近更改的更多信息,请参阅变更日志

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件