Ir para conteúdo
Fórum Script Brasil
  • 0

Buffer


dedas

Pergunta

Olá galerinha, beleza ?

Venho hoje tirar uma dúvida com relação as funções de buffer do php. Entendo o que é o buffer, mas não entendo sua utilização, não entendo quando é o mommento adequado para se utilizar essa função. Alguém poderia colocar um exemplo(pouco complexo) de utilização dessa função?

Obrigado desde já.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Willian,

Isso eu entendo :) Sei que no momento em que você inicia o buffer, nada será "printado" na tela, tudo será armazenado em buffer(memória) e só depois que eu fechar o buffer e liberar espaço na memória é que vou conseguir "resgatar" os dados inseridos no buffer.

Minha dúvida é a seguinte: Qual a finalidade disso em um sistema de gerenciamento de conteúdo(por exemplo) ?

Link para o comentário
Compartilhar em outros sites

  • 0

Segue a classe onde usei output buffering: (Antes tarde do que nunca ... =):

<?php
class View
{
    private $filename;
    private $data;

    public function __construct($filename)
    {
        $this->filename = $filename;
        $this->data = [];
    }

    public function __set($key, $value)
    {
        $this->data[$key] = $value;
    }

    public function render()
    {
        extract($this->data);
        ob_start();
        require_once $this->filename;
        return ob_get_clean();
    }

    public function __toString()
    {
        return $this->render();
    }
}
Uso:
<?php
$view = new View('homepage.php');

$view->name = 'My awesome website';
$view->version = '1.2a';

Ao imprimir $view (ou chamar o método render) o html de template.php será renderizado, substituindo as variáveis presentes no template.

Utilizo esta classe no meu sistema (MVC).

Qualquer coisa estou aí.

Um abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Essa classe representa a View de um sistema MVC. Como não quero imprimir o conteúdo da View assim que incluir o arquivo, guardo a saída da View em uma variável. Depois de enviar headers e outra coisas, aí sim, exibo a saída da View na tela.

Entendeu?

Espero ter deixado claro.

Um abraço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...