Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

wrapper x stream x file x bucket

Boa tarde. Foram tantas palavras faladas na aula que me confundi nos significados. O que é wrapper, stream, file e bucket, e diferença pois achei que tudo era a mesma coisa.

3 respostas
solução!

Stream no PHP, remete o fluxo de dados de uma fonte para um destino. A palavra-chave aqui, é o fluxo. Por que esse recurso é a forma como o PHP generaliza esse fluxo para arquivos, rede, compactação de dados e outras operações.

Você pode notar que durante o curso, o Vinicius, ele manipula os dados, reutilizando as mesmas funções, filtros, constantes... aplicando em arquivos, na rede e na compactação de arquivos.

Stream, documentação do PHP

.

.

Em meio essa generalização, ainda é necessário especificar o tipo de operação que ocorre para tal fluxo de dados. Wrapper são a forma de o PHP faz essa especificação. Wrapper de streams em PHP são o código que diz como aquele determinado protocolo vai ser usado e gerenciado.

  • file://
  • http://
  • https://
  • php://

Protocolos e Wrappers suportados, documentação do PHP

.

Mesmo com wrappers diferentes, podemos utilizar o mesmo código para realizar tarefas completamente diferentes.

Por exemplo:


echo file_get_contents('file://file.txt'); // lê um arquivo
echo file_get_contents('http://alura.com.br'); // faz uma requisição HTTP

Quanto essa parte de buckets, quando se lê um arquivo no php, ou recebemos dados de uma requisição http, lidamos com as streams, que por sua vez, processa esses dados em partes, e essas partes são chamados de buckets, é o que torna eficiente o uso de memória, nessas tarefas.

O problema é que esse processo de fluxo de dados das streams, buckets, é mal documentado pelo PHP, o "por baixo dos panos" , é bem confuso de entender.

Tendi. Obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software