phine / compact
该包已被弃用,不再维护。未建议替代包。
一个用于压缩文件内容的PHP库。
1.1.0
2014-01-07 00:32 UTC
Requires
- php: >=5.3.3
- phine/exception: ~1.0
Requires (Dev)
- league/phpunit-coverage-listener: ~1.0
- phine/test: ~1.0
Suggests
- ext-dom: For compacting XML files.
- ext-json: For compacting JSON files.
This package is not auto-updated.
Last update: 2021-12-07 01:40:56 UTC
README
一个用于压缩文件内容的PHP库。
要求
- PHP >= 5.3.3
- Phine 异常 >= 1.0.0
安装
通过 Composer
$ composer require "phine/compact=~1.0"
用法
Compact库提供了一种一致的方式来压缩文件及其内容。库的目的是简单地减小内容的大小,而不影响其使用方式。例如,压缩JSON文件将涉及删除用于“美化打印”的任何多余空格。
use Phine\Compact\Json; $compactor = new Json(); echo $compactor->compactFile('example.json'); // which is also the same as echo $compactor->compactContents(file_get_contents('example.json'));
假设我们有以下内容在 example.json
{ "name": 123 }
内容将压缩为
{"name":123}
捆绑压缩器
该库还包括以下压缩器类
Phine\Compact\Json
— 用于压缩JSON文件。Phine\Compact\Php
— 用于压缩PHP文件。Phine\Compact\Xml
— 用于压缩XML文件。
创建压缩器
库包括一个接口,所有捆绑类都实现了这个接口。还包含了一个抽象类,所有捆绑压缩器类都扩展了这个抽象类。当你创建自己的压缩器类时,你将想要扩展Phine\Compact\AbstractCompact
类。
use Phine\Compact\AbstractCompact; /** * Simply trims all lines. */ class Trim extends AbstractCompact { /** * {@inheritDoc} */ public function compactContents($contents) { $contents = preg_replace('/^\s+/m', '', $contents); $contents = preg_replace('/\s+$/m', '', $contents); return $contents; } }
在扩展AbstractCompact
类时,compactFile()
方法已经为你实现。它将依赖于在从文件中读取内容后,使用compactContents()
方法来压缩内容。
请考虑将你的压缩器类添加到wiki。
集合
如果你需要管理多个压缩器,库提供了一个Collection
类。除了类,还提供了一个接口,以便支持不同的实现。
use Phine\Compact\Collection; use Phine\Compact\Json; use Phine\Compact\Php; use Phine\Compact\Xml; $collection = new Collection(); $collection->addCompactor(new Json()); $collection->addCompactor(new Php()); $collection->addCompactor(new Xml()); $json = <<<JSON { "key": "value" } JSON; echo $collection->getCompactor('json')->compactContents($json); // {"key":"value"}
文档
你可以在这里找到API文档。
许可证
此库可在MIT许可证下获得。