MediaWiki  master
MediaWiki\Rest\StringStream Class Reference

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

Inheritance diagram for MediaWiki\Rest\StringStream:
Collaboration diagram for MediaWiki\Rest\StringStream:

Public Member Functions

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

Private Attributes

string $contents
 
int $offset = 0
 

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 16 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.

Parameters
string$contents

Definition at line 31 of file StringStream.php.

References MediaWiki\Rest\StringStream\$contents.

Member Function Documentation

◆ __toString()

MediaWiki\Rest\StringStream::__toString ( )

Definition at line 39 of file StringStream.php.

References MediaWiki\Rest\StringStream\$contents.

◆ close()

MediaWiki\Rest\StringStream::close ( )

Definition at line 43 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.

Parameters
resource$streamDestination

Implements MediaWiki\Rest\CopyableStreamInterface.

Definition at line 35 of file StringStream.php.

References MediaWiki\Rest\StringStream\getContents().

◆ detach()

MediaWiki\Rest\StringStream::detach ( )

Definition at line 46 of file StringStream.php.

◆ eof()

MediaWiki\Rest\StringStream::eof ( )

Definition at line 58 of file StringStream.php.

◆ getContents()

MediaWiki\Rest\StringStream::getContents ( )

◆ getMetadata()

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

Definition at line 138 of file StringStream.php.

◆ getSize()

MediaWiki\Rest\StringStream::getSize ( )

Definition at line 50 of file StringStream.php.

◆ isReadable()

MediaWiki\Rest\StringStream::isReadable ( )

Definition at line 110 of file StringStream.php.

◆ isSeekable()

MediaWiki\Rest\StringStream::isSeekable ( )

Definition at line 62 of file StringStream.php.

◆ isWritable()

MediaWiki\Rest\StringStream::isWritable ( )

Definition at line 95 of file StringStream.php.

◆ read()

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

Definition at line 114 of file StringStream.php.

References MediaWiki\Rest\StringStream\$contents.

◆ rewind()

MediaWiki\Rest\StringStream::rewind ( )

Definition at line 91 of file StringStream.php.

◆ seek()

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

Definition at line 66 of file StringStream.php.

References MediaWiki\Rest\StringStream\$offset.

◆ tell()

MediaWiki\Rest\StringStream::tell ( )

Definition at line 54 of file StringStream.php.

References MediaWiki\Rest\StringStream\$offset.

◆ write()

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

Definition at line 99 of file StringStream.php.

Member Data Documentation

◆ $contents

◆ $offset

int MediaWiki\Rest\StringStream::$offset = 0
private

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