MediaWiki master
MediaWiki\Rest\StringStream Class Reference

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

Inherits Stringable, and 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 19 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 34 of file StringStream.php.

Member Function Documentation

◆ __toString()

MediaWiki\Rest\StringStream::__toString ( )

Definition at line 42 of file StringStream.php.

◆ close()

MediaWiki\Rest\StringStream::close ( )

Definition at line 46 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 38 of file StringStream.php.

References MediaWiki\Rest\StringStream\getContents().

◆ detach()

MediaWiki\Rest\StringStream::detach ( )

Definition at line 49 of file StringStream.php.

◆ eof()

MediaWiki\Rest\StringStream::eof ( )

Definition at line 61 of file StringStream.php.

◆ getContents()

MediaWiki\Rest\StringStream::getContents ( )

Definition at line 129 of file StringStream.php.

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

◆ getMetadata()

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

Definition at line 141 of file StringStream.php.

◆ getSize()

MediaWiki\Rest\StringStream::getSize ( )

Definition at line 53 of file StringStream.php.

◆ isReadable()

MediaWiki\Rest\StringStream::isReadable ( )

Definition at line 113 of file StringStream.php.

◆ isSeekable()

MediaWiki\Rest\StringStream::isSeekable ( )

Definition at line 65 of file StringStream.php.

◆ isWritable()

MediaWiki\Rest\StringStream::isWritable ( )

Definition at line 98 of file StringStream.php.

◆ read()

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

Definition at line 117 of file StringStream.php.

◆ rewind()

MediaWiki\Rest\StringStream::rewind ( )

Definition at line 94 of file StringStream.php.

◆ seek()

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

Definition at line 69 of file StringStream.php.

◆ tell()

MediaWiki\Rest\StringStream::tell ( )

Definition at line 57 of file StringStream.php.

◆ write()

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

Definition at line 102 of file StringStream.php.

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