legionth/indentation-react

v0.2.1 2016-10-03 22:39 UTC

This package is auto-updated.

Last update: 2024-09-16 19:01:44 UTC


README

该项目应展示 streams 的神奇之处以及为什么应该使用它们。该项目使用可写和可读流的组合。查看 使用方法 获取更多信息。

目录

使用方法

缩进器

该项目的核心是 Indenter 类。这个类(显然)将输入流缩进到输出流。Indenter 是一个 EventEmitter 和一个 ReadableStreamInterface。因为这个类是一个 ReadableStreamInterface,所以缩进的将数据暴露在相同的接口上。

要使用这些数据,您需要将其管道传输到另一个流中,请查看 examples 文件夹。

那么,这个项目的理由是什么?这个项目只是展示了 ReactPHP streams 的神奇之处。流可以有不同的尺寸:较大的部分、较小的部分等,这取决于数据源(下载、文件、字符串等)。在这个项目中,您可以确保在新的行分隔符到来时一个块是完整的,所以下一行将被缩进。因此,您可以确保流总是正确缩进的。

您可以在 examples 下找到如何使用此项目的方法。如果您需要缩进文件,可以将文件管道传输到示例中。

$ cat words.txt | php examples/indentInput.php

此命令可以单独启动。

$ php examples/indentInput.php

此示例清楚地说明了为什么应该使用此项目。您可以用一个小示例缩进整个文件。如果您愿意,可以将命令输出管道传输到此示例中,看看它是如何工作的。只管试试。

您可以使用其他缩进方法,如标准的4个空格(制表符、更多或更少的空格)等,方法如下

$ cat words.txt | php examples/indentInput.php --tab 

或者只需将四个空格改为两个

$ cat words.txt | php examples/indentInput.php --spaces 2

在您的生产代码中使用它如下;

$indenter = new Indenter($inputStream);
// or
$indenter = new Indenter($inputStream, $beginningString);

$beginningString 可以是任何类型的字符串。您喜欢什么都可以 ;)

安装

推荐通过 Composer 安装此库。 Composer 新手?

这将安装最新支持的版本

$ composer require legionth/indentation-react:^0.1

有关版本升级的详细信息,请参阅 变更日志

许可证

MIT