northrook / compressor
PHP 压缩库。
dev-main
2024-07-20 12:37 UTC
Requires
- php: >=8
- ext-zlib: *
Requires (Dev)
- northrook/dev-env: dev-main
This package is auto-updated.
Last update: 2024-09-20 12:57:41 UTC
README
这是一个使用 PHP zlib
的无损数据压缩库。
重要
此包仍在开发中。
虽然它被认为是最小可行产品(MVP)且稳定,但它可能仍然会经历破坏性更改。
安装
composer require northrook/compressor
使用
压缩
使用 Compressor::compress()
函数压缩数据,它有两个参数
mixed $data
要压缩的数据。它进行了类型检查,如果不是字符串,则使用本地\serialize
函数序列化int $level
压缩级别,从 0 到 9,默认为 9。
$example = \Northrook\Compressor::compress( $_SERVER ) : Compressor; $example->data; // Resulting compressed string $example->report // "Compressed data array, from 3.54kB to 1.41kB, saving 60.17%."
解压
要解压数据,请使用 decompress
静态函数,它有两个参数
string $data
要解压的数据。默认情况下进行反序列化。bool $raw
返回原始解压数据。
$server_array = \Northrook\Compressor::decompress( $example ) : mixed; $server_array //
提示
在某些情况下,通过预先序列化数据可以获得更高的压缩率。
只需别忘了设置 decompress( $data, true )
,并在外部应用适当的反序列化器。
HTML 类型的字符串数组通常可以从使用 json_encode
中受益,通常比 serialize
小 ~2%
。
备注
Compressor
类是 \Stringable
,但也提供了只读的 data
属性以进行无歧义的访问。