Arquivo

Arquivo de março, 2011

“Warning: Cannot modify header information…” no WordPress

28 de março de 2011

Rodando localmente o WordPress 3.1 de um novo projeto no meu MacBook, estava modificando o layout do tema que estou utilizando e adicionando outras funcionalidades. De repente, começou a aparecer, principalmente na interface de administração, a seguinte mensagem de erro:

Warning: Cannot modify header information - headers already sent by (output started at /Users/Prodis/TimeDev/pontoa/public_html/wp-content/themes/pontoa/includes/widgets/my-post-cycle-widget.php:93) in /Users/Prodis/TimeDev/pontoa/public_html/wp-includes/pluggable.php on line 897

É um alerta do PHP, mas digo erro, pois dependendo da página a mesma não carregava e em muitas outras, que utilizam AJAX, a mensagem aparecia em algum lugar da página e não terminava de renderizar.

Entre os arquivos que alterei, fazia parte o arquivo my-post-cycle-widget.php, que contém o código de um dos widgets que vieram com o tema. Então abri o arquivo para ver o que tinha na linha 93 e para surpresa minha o arquivo somente tinha 92 linhas.

Widgets do WordPress são basicamente uma classe que herda da classe WP_Widget e implementa algumas funções como widget, update e form, para adicionar seu comportamento. Sendo assim, todo o arquivo de um widget é envolvido pelas tags <?php   ?>.

Foi aí que eu notei que na última linha do arquivo my-post-cycle-widget.php havia uma linha vazia logo após o fechamento da tag do PHP. Removi essa linha vazia (a linha 92) e tudo voltou ao normal.

O erro aconteceu porque a função wp_redirect, que se encontra no arquivo pluggable.php, altera o cabeçalho HTTP exatamente assim:

header("Location: $location", true, $status);

Se algum conteúdo HTML for enviado antes de tentar modificar o cabeçalho HTTP, o erro vai acontecer. E sim, espaços e linhas vazias são considerados conteúdo HTML.

Geral , , ,

Corrida Farmácia Walmart - Abertura do Circuito Corpore ESPN 2011 - 5 km

20 de março de 2011

No domingo de 13 de março de 2011 parcitipei dos 5 km da Corrida Farmácia Walmart - Abertura do Circuito Corpore ESPN 2011.

A corrida foi disputada no interior da Cidade Universitária (USP), em um percurso praticamente plano.

Tempo total: 00:22:30

Tempo médio por km: 04:30

Tempo em cada km:

  1. 04:14
  2. 04:34
  3. 04:18
  4. 04:19
  5. 05:05

Rodrigo Lima, Jeremias Roma, Tiago Castanho, Eu, Maciel Moraes e Mauricio de Amorim

Rodrigo Lima, Jeremias Roma, Tiago Castanho, Eu, Maciel Moraes e Mauricio de Amorim

Foto de Ativo.com

Foto de Ativo.com

Foto de MidiaSport

Foto de MidiaSport

Foto de WebRun

Foto de WebRun

Esportes , , , ,

[IT Web - Ruby Fundamental] Exemplos de scripts em Ruby

6 de março de 2011

A criação de scripts pode facilitar o trabalho de desenvolvedores no intuito de automatizar tarefas manuais e/ou repetitivas do dia-a-dia.

Podemos criar esses scripts em várias outras linguagens, como por exemplo Python, Perl e Shell Script, mas a linguagem Ruby se mostra muito indicada, por possuir uma sintaxe simples e intuitiva e ao mesmo tempo lhe fornecer poderosos recursos.

Vou lhe mostrar dois exemplos muito simples de scripts em Ruby, em duas situações diferentes.

Veja o post completo no blog Ruby Fundamental:
Exemplos de scripts em Ruby

Veja também os outros posts do blog Ruby Fundamental:
Um pouco sobre classes
Hash em Ruby

Ruby , , ,