1
resposta

Sugestão de correção no vídeo da aula

O filtro personalizado MeuFiltro.php não estava funcionando. Daí, eu a entendi o erro graças a esta postagem no fórum: https://cursos.alura.com.br/forum/topico-problema-no-stream_filter_append-212423

Como eu estou usando Windows, a quebra de linha no arquivo não é o mesmo que o caractere \n. Mas como na vídeo aula o código estava assim, pensei que o \n e a constante PHP_EOL fossem a mesma coisa.

Pode ser interessante destacar isso no material ou no vídeo.

Código de MeuFiltro.php proposto na aula:

            $linhas = explode('\n', $bucket->data); 

            foreach ($linhas as $linha) {
                if (stripos($linha, 'parte') !== false)
                {
                    $saida .= "$linha\n";
                }
            }

Código de MeuFiltro.php substituindo o '\n' por PHP_EOL:

            $linhas = explode(PHP_EOL, $bucket->data); 

            foreach ($linhas as $linha) {
                if (stripos($linha, 'parte') !== false)
                {
                    $saida .= "$linha" . PHP_EOL;
                }
            }
1 resposta

Olá, Thiago. Tudo bem?

Desculpas pela demora em responder o seu tópico.

No seu código:

 $linhas = explode('\n', $bucket->data); 

Você utilizou aspas simples ' ', se você tivesse utilizado aspas duplas " " o \n teria funcionado.

Isso porque há diferenças:

  • Aspas simples: significa que o PHP não precisa interpretar nada, ele vai considerar tudo como texto.
  • Aspas duplas: significa que o PHP terá algo para interpretar algo como: variáveis, caracteres especiais e etc.

Espero ter ajudado, bons estudos :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓