Overview
  • Namespace
  • Class

Namespaces

  • Slim
    • Exception
    • Handlers
      • Strategies
    • Http
    • Interfaces
      • Http

Classes

  • Body
  • Cookies
  • Environment
  • Headers
  • Message
  • Request
  • RequestBody
  • Response
  • Stream
  • UploadedFile
  • Uri

Class Stream

Represents a data stream as defined in PSR-7.

Slim\Http\Stream implements Psr\Http\Message\StreamInterface

Direct known subclasses

Slim\Http\Body

Indirect known subclasses

Slim\Http\RequestBody

Namespace: Slim\Http
Link: https://github.com/php-fig/http-message/blob/master/src/StreamInterface.php
Located at Http/Stream.php

Methods summary

public
# __construct( resource $stream )

Create a new Stream.

Create a new Stream.

Parameters

$stream
A PHP resource handle.

Throws

InvalidArgumentException
If argument is not a resource.
public array|mixed|null
# getMetadata( string $key = null )

Get stream metadata as an associative array or retrieve a specific key.

Get stream metadata as an associative array or retrieve a specific key.

The keys returned are identical to the keys returned from PHP's stream_get_meta_data() function.

Parameters

$key
Specific metadata to retrieve.

Returns

array|mixed|null

Returns an associative array if no key is provided. Returns a specific key value if a key is provided and the value is found, or null if the key is not found.

Link

http://php.net/manual/en/function.stream-get-meta-data.php
protected boolean
# isAttached( )

Is a resource attached to this stream?

Is a resource attached to this stream?

Note: This method is not part of the PSR-7 standard.

Returns

boolean
protected
# attach( resource $newStream )

Attach new resource to this object.

Attach new resource to this object.

Note: This method is not part of the PSR-7 standard.

Parameters

$newStream
A PHP resource handle.

Throws

InvalidArgumentException
If argument is not a valid PHP resource.
public resource|null
# detach( )

Separates any underlying resources from the stream.

Separates any underlying resources from the stream.

After the stream has been detached, the stream is in an unusable state.

Returns

resource|null
Underlying PHP stream, if any
public string
# __toString( )

Reads all data from the stream into a string, from the beginning to end.

Reads all data from the stream into a string, from the beginning to end.

This method MUST attempt to seek to the beginning of the stream before reading data and read the stream until the end is reached.

Warning: This could attempt to load a large amount of data into memory.

This method MUST NOT raise an exception in order to conform with PHP's string casting operations.

Returns

string

See

http://php.net/manual/en/language.oop5.magic.php#object.tostring
public
# close( )

Closes the stream and any underlying resources.

Closes the stream and any underlying resources.

public integer|null
# getSize( )

Get the size of the stream if known.

Get the size of the stream if known.

Returns

integer|null
Returns the size in bytes if known, or null if unknown.
public integer
# tell( )

Returns the current position of the file read/write pointer

Returns the current position of the file read/write pointer

Returns

integer
Position of the file pointer

Throws

RuntimeException
on error.
public boolean
# eof( )

Returns true if the stream is at the end of the stream.

Returns true if the stream is at the end of the stream.

Returns

boolean
public boolean
# isReadable( )

Returns whether or not the stream is readable.

Returns whether or not the stream is readable.

Returns

boolean
public boolean
# isWritable( )

Returns whether or not the stream is writable.

Returns whether or not the stream is writable.

Returns

boolean
public boolean
# isSeekable( )

Returns whether or not the stream is seekable.

Returns whether or not the stream is seekable.

Returns

boolean
public
# seek( integer $offset, integer $whence = SEEK_SET )

Seek to a position in the stream.

Seek to a position in the stream.

Parameters

$offset
Stream offset
$whence

Specifies how the cursor position will be calculated based on the seek offset. Valid values are identical to the built-in PHP $whence values for fseek(). SEEK_SET: Set position equal to offset bytes SEEK_CUR: Set position to current location plus offset SEEK_END: Set position to end-of-stream plus offset.

Throws

RuntimeException
on failure.

Link

http://www.php.net/manual/en/function.fseek.php
public
# rewind( )

Seek to the beginning of the stream.

Seek to the beginning of the stream.

If the stream is not seekable, this method will raise an exception; otherwise, it will perform a seek(0).

Throws

RuntimeException
on failure.

See

Slim\Http\Stream::seek()

Link

http://www.php.net/manual/en/function.fseek.php
public string
# read( integer $length )

Read data from the stream.

Read data from the stream.

Parameters

$length

Read up to $length bytes from the object and return them. Fewer than $length bytes may be returned if underlying stream call returns fewer bytes.

Returns

string

Returns the data read from the stream, or an empty string if no bytes are available.

Throws

RuntimeException
if an error occurs.
public integer
# write( string $string )

Write data to the stream.

Write data to the stream.

Parameters

$string
The string that is to be written.

Returns

integer
Returns the number of bytes written to the stream.

Throws

RuntimeException
on failure.
public string
# getContents( )

Returns the remaining contents in a string

Returns the remaining contents in a string

Returns

string

Throws

RuntimeException

if unable to read or an error occurs while reading.

public boolean
# isPipe( )

Returns whether or not the stream is a pipe.

Returns whether or not the stream is a pipe.

Returns

boolean

Constants summary

integer FSTAT_MODE_S_IFIFO

Bit mask to determine if the stream is a pipe

Bit mask to determine if the stream is a pipe

This is octal as per header stat.h

# 0010000

Properties summary

protected static array $modes

Resource modes

Resource modes

Link

http://php.net/manual/function.fopen.php
# [ 'readable' => ['r', 'r+', 'w+', 'a+', 'x+', 'c+'], 'writable' => ['r+', 'w', 'w+', 'a', 'a+', 'x', 'x+', 'c', 'c+'], ]
protected resource $stream

The underlying stream resource

The underlying stream resource

#
protected array $meta

Stream metadata

Stream metadata

#
protected boolean $readable

Is this stream readable?

Is this stream readable?

#
protected boolean $writable

Is this stream writable?

Is this stream writable?

#
protected boolean $seekable

Is this stream seekable?

Is this stream seekable?

#
protected null|integer $size

The size of the stream if known

The size of the stream if known

#
protected boolean $isPipe

Is this stream a pipe?

Is this stream a pipe?

#
API documentation generated by ApiGen