MediaWiki master
MediaWiki\Rest\StringStream Class Reference

A stream class which uses a string as the underlying storage. More...

Inherits MediaWiki\Rest\CopyableStreamInterface.

Collaboration diagram for MediaWiki\Rest\StringStream:

Public Member Functions

 __construct ( $contents='')
 Construct a StringStream with the given contents.
 __toString ()
 close ()
 copyToStream ( $stream)
 Copy this stream to a specified stream resource.
 detach ()
 eof ()
 getContents ()
 getMetadata ( $key=null)
 getSize ()
 isReadable ()
 isSeekable ()
 isWritable ()
 read ( $length)
 rewind ()
 seek ( $offset, $whence=SEEK_SET)
 tell ()
 write ( $string)

Detailed Description

A stream class which uses a string as the underlying storage.

Surprisingly, Guzzle does not appear to have one of these. BufferStream does not do what we want.

The normal use of this class should be to first write to the stream, then rewind, then read back the whole buffer with getContents().

Seeking is supported, however seeking past the end of the string does not fill with null bytes as in a real file, it throws an exception instead.

Definition at line 18 of file StringStream.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Rest\StringStream::__construct ( $contents = '')

Construct a StringStream with the given contents.

The offset will start at 0, ready for reading. If appending to the given string is desired, you should first seek to the end.


Definition at line 33 of file StringStream.php.

Member Function Documentation

◆ __toString()

MediaWiki\Rest\StringStream::__toString ( )

Definition at line 41 of file StringStream.php.

◆ close()

MediaWiki\Rest\StringStream::close ( )

Definition at line 45 of file StringStream.php.

◆ copyToStream()

MediaWiki\Rest\StringStream::copyToStream ( $stream)

Copy this stream to a specified stream resource.

For some streams, this can be implemented without a tight loop in PHP code.

Equivalent to reading from the object until EOF and writing the resulting data to $stream. The position will be advanced to the end.

Note that $stream is not a StreamInterface object.


Implements MediaWiki\Rest\CopyableStreamInterface.

Definition at line 37 of file StringStream.php.

References MediaWiki\Rest\StringStream\getContents().

◆ detach()

MediaWiki\Rest\StringStream::detach ( )

Definition at line 48 of file StringStream.php.

◆ eof()

MediaWiki\Rest\StringStream::eof ( )

Definition at line 60 of file StringStream.php.

◆ getContents()

MediaWiki\Rest\StringStream::getContents ( )

Definition at line 128 of file StringStream.php.

Referenced by MediaWiki\Rest\StringStream\copyToStream().

◆ getMetadata()

MediaWiki\Rest\StringStream::getMetadata ( $key = null)

Definition at line 140 of file StringStream.php.

◆ getSize()

MediaWiki\Rest\StringStream::getSize ( )

Definition at line 52 of file StringStream.php.

◆ isReadable()

MediaWiki\Rest\StringStream::isReadable ( )

Definition at line 112 of file StringStream.php.

◆ isSeekable()

MediaWiki\Rest\StringStream::isSeekable ( )

Definition at line 64 of file StringStream.php.

◆ isWritable()

MediaWiki\Rest\StringStream::isWritable ( )

Definition at line 97 of file StringStream.php.

◆ read()

MediaWiki\Rest\StringStream::read ( $length)

Definition at line 116 of file StringStream.php.

◆ rewind()

MediaWiki\Rest\StringStream::rewind ( )

Definition at line 93 of file StringStream.php.

◆ seek()

MediaWiki\Rest\StringStream::seek ( $offset,
$whence = SEEK_SET )

Definition at line 68 of file StringStream.php.

◆ tell()

MediaWiki\Rest\StringStream::tell ( )

Definition at line 56 of file StringStream.php.

◆ write()

MediaWiki\Rest\StringStream::write ( $string)

Definition at line 101 of file StringStream.php.

The documentation for this class was generated from the following file: