legionth / indentation-react
Requires
- php: >=5.3
- react/stream: ^0.4 || ^0.3
Requires (Dev)
- react/event-loop: ^0.4 || ^0.3
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