承接 zbateson/stream-decorators 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

zbateson/stream-decorators

Composer 安装命令:

composer require zbateson/stream-decorators

包简介

PHP psr7 stream decorators for mime message part streams

README 文档

README

PSR-7 stream decorators for character set conversion and common mail format content encodings.

Build Status Total Downloads Latest Stable Version

composer require zbateson/stream-decorators

Sponsors

SecuMailer

A huge thank you to all my sponsors. <3

If this project's helped you, please consider sponsoring me.

Requirements

PHP 8.1 or newer. Tested on PHP 8.1, 8.2, 8.3, 8.4, and 8.5.

Description

The library provides the following Psr\Http\Message\StreamInterface implementations:

  • Base64Stream - decodes on read and encodes on write to base64
  • CharsetStream - encodes from $streamCharset to $stringCharset on read, and vice-versa on write
  • ChunkSplitStream - splits written characters into lines of $lineLength long (stream implementation of PHP's chunk_split)
  • DecoratedCachingStream - a caching stream that writes to a decorated stream, and reads from the cached undecorated stream
  • NonClosingStream - overrides close() and detach(), and simply unsets the attached stream without closing it
  • PregReplaceFilterStream - calls preg_replace with passed arguments on every read() call
  • QuotedPrintableStream - decodes on read and encodes on write to quoted-printable
  • SeekingLimitStream - similar to GuzzleHttp's LimitStream, but maintains an internal current read position
  • TellZeroStream - tell() always returns 0 -- used by DecoratedCachingStream to wrap a BufferStream in a CachingStream
  • UUStream - decodes on read, encodes on write to uu-encoded

Usage

$stream = GuzzleHttp\Psr7\Utils::streamFor($handle);
$b64Stream = new ZBateson\StreamDecorators\Base64Stream($stream);
$charsetStream = new ZBateson\StreamDecorators\CharsetStream($b64Stream, 'UTF-32', 'UTF-8');

while (($line = GuzzleHttp\Psr7\Utils::readLine()) !== false) {
    echo $line, "\r\n";
}

Note that CharsetStream, depending on the target encoding, may return multiple bytes when a single 'char' is read. If using PHP's fread, this will result in a warning. It is recommended to not convert to a stream handle (with StreamWrapper) when using CharsetStream.

License

BSD licensed - please see license agreement.

统计信息

  • 总下载量: 52.28M
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 48
  • 点击次数: 11
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 47
  • Watchers: 1
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-2-Clause
  • 更新时间: 2017-12-31

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固