Stream

class AeonDigital\Http\Stream\Stream
Fornece as operações básicas para o tratamento de Stream (fluxo) de dados.
Streams podem ser arquivos de qualquer natureza, um buffer ou mesmo um espaço na memória.

Em PHP, geralmente os Streams são iniciados usando o comando fopen e é importante
lembrar que o modo com o qual o recurso foi aberto influencia a capacidade desta classe.

Esta classe implementa a interface
Psr\Http\Message\StreamInterface através da interface iStream.
Parent:AeonDigital\BObject
Implements:AeonDigital\Interfaces\Stream\iStream
Used traits:AeonDigitalTraitsMainCheckArgumentException

Properties

Methods

public AeonDigital\Http\Stream\Stream::__construct($stream)
Inicia um manipulador de Stream.
Parameters:
  • ‹ resource › $stream
    Objeto Stream que será manipulado.
Throws:

‹ InvalidArgumentException ›

public AeonDigital\Http\Stream\Stream::getMetadata($key=null)
Retorna um array associativo contendo metadados relacionados com a key indicada.
Retorna null caso a chave indicada não exista.

Os dados retornados são identicos aos que seriam pegos pela função do PHP
stream_get_meta_data.
Parameters:
  • ‹ ?string › $key
    Nome da chave de metadados que serão retornados.
Returns:

‹ mixed ›

public AeonDigital\Http\Stream\Stream::isSeekable()
Retorna true se o Stream carregado é pesquisável.
Returns:‹ bool ›
public AeonDigital\Http\Stream\Stream::isWritable()
Retorna true se é possível escrever no Stream ou se ele está com seu modo de
escrita ativo.
Returns:‹ bool ›
public AeonDigital\Http\Stream\Stream::isReadable()
Retorna true se é possível ler o Stream ou se ele está com seu modo de
leitura ativo.
Returns:‹ bool ›
public AeonDigital\Http\Stream\Stream::getSize()
Retorna o tamanho (em bytes) do Stream carregado ou null caso ele não exista ou se
não for possível determinar.
Returns:‹ ?int ›
public AeonDigital\Http\Stream\Stream::eof()
Retornará true caso o ponteiro do Stream esteja posicionado no final do arquivo.
Returns:‹ bool ›
public AeonDigital\Http\Stream\Stream::tell()
Retorna a posição atual do ponteiro.
Returns:‹ int ›
Throws:‹ RuntimeException ›
public AeonDigital\Http\Stream\Stream::seek($offset, $whence=SEEK_SET)
Modifica a posição do cursor dentro do Stream conforme indicações offset e
whence.
Esta função tem funcionamento identico ao fseek do PHP.
Importante lembrar que conforme o modo de abertura do recurso (r ; rw; r+; a+ …) esta
função pode não funcionar adequadamente.
Parameters:
  • ‹ int › $offset
    Posição que será definida para o cursor.
  • ‹ int › $whence
    Especifica a forma como a posição do cursor será calculado. Valores válidos são SEEK_SET, SEEK_CUR e SEEK_END.
Throws:

‹ RuntimeException ›

public AeonDigital\Http\Stream\Stream::rewind()
Posiciona o cursor do Stream no início do mesmo.
Se o Stream não for pesquisável então este método irá lançar uma exception.
See:AeonDigitalHttpStreamseek()
Throws:‹ RuntimeException ›
public AeonDigital\Http\Stream\Stream::read($length)
Lê as informações do Stream carregado a partir da posição atual do cursor até onde
$length indicar.
Parameters:
  • ‹ int › $length
    Tamanho da string que será retornada.
Returns:

‹ string ›

Throws:

‹ RuntimeException ›

public AeonDigital\Http\Stream\Stream::write($string)
Escreve no Stream carregado.
Retorna o número de bytes escritos no Stream.
Parameters:
  • ‹ string › $string
    Dados que serão escritos.
Returns:

‹ int ›

Throws:

‹ RuntimeException ›

public AeonDigital\Http\Stream\Stream::getContents()
A partir da posição atual do cursor, retorna o conteúdo do Stream em uma string.
Lança uma exception caso algum erro ocorra.
Returns:‹ string ›
Throws:‹ RuntimeException ›
public AeonDigital\Http\Stream\Stream::detach()
Encerra o uso do Stream atualmente carregado para esta instância.
Retorna o objeto Stream em sua condição atual ou null caso ele não esteja definido.
Returns:‹ ?resource ›
public AeonDigital\Http\Stream\Stream::close()
Encerra o Stream.
Returns:‹ void ›
public AeonDigital\Http\Stream\Stream::__toString()
Este método retorna todo o conteúdo do Stream em uma string.
Para isso, primeiro o cursor é reposicionado no início do mesmo e então seu conteúdo é
retornado.

Ao final do processo, se possível (conforme o modo no qual o arquivo está aberto) o cursor
será reposicionado onde estava imediatamente antes da execução deste método. Este
comportamento é próprio desta implementação.
See:http://php.net/manual/en/language.oop5.magic.php#object.tostring
Returns:‹ string ›