pinimize / laravel-lzf-compresssion
用于LZF压缩的Laravel包。
v0.1.0
2024-08-27 17:40 UTC
Requires
- php: ^8.2
- ext-fileinfo: *
- ext-lzf: *
- pinimize/laravel-compression-and-archive: ^0.2
Requires (Dev)
- driftingly/rector-laravel: ^1.2.1
- guzzlehttp/guzzle: ^7.5
- laravel/pint: ^1.17
- orchestra/testbench: ^9.1.5
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^10.5|^11.0
- symfony/var-dumper: ^7.0
This package is auto-updated.
Last update: 2024-09-01 16:46:48 UTC
README
本包为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压缩和归档文档。
重要提示
- LZF压缩算法不支持压缩级别。配置中的
level
参数对于LZF驱动程序将被忽略。 - 此包要正常工作,必须在您的服务器上安装LZF扩展。如果您使用的是托管主机服务,可能需要联系您的托管服务提供商以安装它。
贡献
欢迎贡献!请随时提交Pull Request。
测试
使用以下命令运行测试:
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。