类 CallbackStream
PSR HTTP 流的实现。
这与 Laminas\Diactoros\Callback 流的不同之处在于它允许在回调中使用 `echo`,并优雅地处理回调没有返回字符串的情况。
理想情况下,我们可以修改/更新 diactoros,但我们需要与 diactoros 项目一起弄清楚这一点。在此之前,我们将使用此垫片来提供与现有 CakePHP 应用程序的向后兼容性。
命名空间: Cake\Http
属性摘要
-
$callback protected
callable|null
方法摘要
-
__construct() public
-
__toString() public
将流中的所有数据从开头到结尾读取到字符串中。
-
attach() public
将新的回调附加到实例。
-
close() public
关闭流和任何底层资源。
-
detach() public
将任何底层资源与流分离。
-
eof() public
如果流位于流的末尾,则返回 true。
-
getContents() public
以字符串形式返回剩余的内容
-
getMetadata() public
以关联数组的形式获取流元数据或检索特定键。
-
getSize() public
获取流的大小(如果已知)。
-
isReadable() public
返回流是否可读。
-
isSeekable() public
返回流是否可搜索。
-
isWritable() public
返回流是否可写。
-
read() public
从流中读取数据。
-
rewind() public
跳转到流的开头。
-
seek() public
跳转到流中的某个位置。
-
tell() public
返回文件读/写指针的当前位置
-
write() public
将数据写入流。
方法详情
__construct() ¶ public
__construct(callable $callback)
参数
-
callable
$callback
抛出
Exception\InvalidArgumentException
__toString() ¶ public
__toString(): string
将流中的所有数据从开头到结尾读取到字符串中。
此方法必须尝试在读取数据之前跳转到流的开头,并读取流直到到达结尾。
警告:这可能会尝试将大量数据加载到内存中。
为了符合 PHP 的字符串转换操作,此方法必须不引发异常。
返回
string
getMetadata() ¶ public
getMetadata(string|null $key = null): array|mixed|null
以关联数组的形式获取流元数据或检索特定键。
返回的键与 PHP 的 stream_get_meta_data() 函数返回的键相同。
参数
-
string|null
$key 可选
返回
array|mixed|null
seek() ¶ public
seek(int $offset, int $whence = SEEK_SET): void
跳转到流中的某个位置。
参数
-
int
$offset -
int
$whence 可选
返回
void