Oroboros Core
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo

Namespaces

  • None
  • oroboros
    • core
      • abstracts
        • adapters
        • bootstrap
        • controllers
        • libraries
          • auth
          • bootstrap
          • cache
          • codex
          • config
          • container
          • data
          • database
          • dns
          • entity
          • enum
          • error
          • event
          • extension
          • file
          • flags
          • hooks
          • job
          • logger
          • manager
          • message
          • prototype
          • request
          • response
          • routine
          • shell
          • startup
          • stream
          • template
          • uri
          • utility
          • validation
            • workers
          • worker
        • models
        • patterns
          • behavioral
          • creational
        • utilities
          • exception
            • cache
            • container
          • http
        • views
      • interfaces
        • adapters
          • interpreters
          • sdk
        • api
          • adapters
          • bootstrap
          • controllers
          • psr
        • contract
          • adapters
          • bootstrap
          • codex
          • components
          • controllers
          • data
          • entities
          • errors
          • events
          • extensions
          • jobs
          • libraries
            • auth
            • cache
            • config
            • container
            • enum
            • file
            • flags
            • hooks
            • module
            • promise
            • record
            • request
            • response
            • server
            • shutdown
            • site
            • stream
            • template
            • theme
            • uri
          • models
          • patterns
            • behavioral
            • concurrency
            • creational
            • structural
          • routes
          • routines
            • bootload
            • declarative
            • procedural
            • subsystem
          • services
            • consumer
              • cgi
              • rest
                • local
                • remote
                  • authenticated
                  • unauthenticated
            • provider
              • cgi
              • rest
                • local
                • remote
                  • authenticated
                  • unauthenticated
          • utilities
            • datetime
            • exception
              • cache
              • container
            • filebase
            • http
            • math
            • parser
            • regex
            • session
          • views
        • enumerated
          • environment
          • flags
          • http
          • views
        • libraries
          • manager
          • worker
      • libraries
        • api
        • codex
        • container
        • enum
          • http
        • file
        • hooks
        • logger
        • math
        • psr4
        • request
        • response
        • stream
        • uri
      • patterns
        • creational
      • traits
        • adapters
        • bootstrap
        • codex
        • components
        • controllers
        • data
        • entities
        • events
        • extensions
        • jobs
        • libraries
          • container
          • file
          • request
          • response
          • stream
          • uri
        • models
        • modules
        • patterns
          • behavioral
          • concurrency
          • creational
          • structural
        • routes
        • services
        • utilities
          • core
            • api
            • config
            • contract
              • contract
            • enum
            • environment
            • routines
          • datetime
          • error
          • exception
          • filebase
          • hooks
          • html
          • http
          • logic
          • math
          • parsers
          • regex
          • session
        • views
      • utilities
        • exception
          • cache
          • container
        • http
      • views
    • tests
      • patterns
        • creational
      • psr
        • psr7
      • utilities
        • exception
  • PasswordCompat
    • binary
  • PHP

Interfaces

  • MessageContract
  • StreamContract

Interface StreamContract


Contract interfaces enforce expected behavior in a non-colliding way. They are tasked with enforcing methods, and extending interfaces provided by standards and other packages for compatibility.

All valid oroboros classes MUST extend at

least one Contract Interface to be considered valid.

oroboros\core\interfaces\contract\libraries\stream\StreamContract implements oroboros\core\interfaces\contract\libraries\LibraryContract, Psr\Http\Message\StreamInterface

Direct known implementers

oroboros\core\abstracts\libraries\stream\AbstractStream, oroboros\core\interfaces\contract\libraries\stream\MessageContract

Indirect known implementers

oroboros\core\abstracts\libraries\request\AbstractRequest, oroboros\core\abstracts\libraries\request\AbstractServerRequest, oroboros\core\libraries\response\Response, oroboros\core\libraries\stream\Message, oroboros\core\libraries\stream\Stream, oroboros\core\abstracts\libraries\response\AbstractResponse, oroboros\core\abstracts\libraries\stream\AbstractMessage, oroboros\core\interfaces\contract\libraries\request\RequestContract, oroboros\core\interfaces\contract\libraries\request\ServerRequestContract, oroboros\core\interfaces\contract\libraries\response\ResponseContract, oroboros\core\interfaces\contract\libraries\response\ServerResponseContract, oroboros\core\libraries\request\Request, oroboros\core\libraries\request\ServerRequest

Namespace: oroboros\core\interfaces\contract\libraries\stream
Package: oroboros\core\streams
Category: contract-interfaces
License: The MIT License (MIT)
Author: Brian Dayhoff mopsyd@me.com
Version: 0.2.4-alpha
Since: 0.2.4-alpha
Link: bitbucket.org/oroborosframework/oroboros-core/wiki/development/api/contract_interface.md
Located at core/interfaces/contract/libraries/stream/StreamContract.php

Methods summary

public
# __construct( resource $body )

Creates a new instance of a stream wrapper.

Creates a new instance of a stream wrapper.

Parameters

$body
public
# __destruct( )

Destroys any cache files that may exist. A fallback shutdown function is also declared as a redundancy, in the event of a fatal error that prevents the destructor from firing.

Destroys any cache files that may exist. A fallback shutdown function is also declared as a redundancy, in the event of a fatal error that prevents the destructor from firing.

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
# 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

oroboros\core\interfaces\contract\libraries\stream\StreamContract::seek()
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 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 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
# close( )

Closes the stream and any underlying resources.

Closes the stream and any underlying resources.

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

See

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

Returns whether or not the stream is readable.

Returns whether or not the stream is readable.

Returns

boolean
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.
RuntimeException
if error occurs while reading.
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.

See

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

Returns whether or not the stream is seekable.

Returns whether or not the stream is seekable.

Returns

boolean
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 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
# isWritable( )

Returns whether or not the stream is writable.

Returns whether or not the stream is writable.

Returns

boolean
Oroboros Core API documentation generated by ApiGen