Erro: “Cannot modify header information – headers already sent” no PHP

Um dos erros mais comuns, que os programadores iniciantes sofrem é o “Warning: Cannot modify header information – headers already sent by…”. Não se preocupe, todo mundo passa por esse erro ao programar com PHP. Descubra abaixo como é fácil de resolver esse erro.

O motivo do erro “Cannot modify header information”

Antes, vamos a explicação do motivo desse erro acontecer na execução de algum script PHP. É bem provável ele deva ser o erro mais procurado no stack overflow.

O motivo desse warning no PHP é simples, pois funções que enviam ou modificam o cabeçalho da requisição, devem ser chamados antes de o php emitir qualquer output.

As funções que devem ser chamadas antes de qualquer output são:

  • header() / header_remove()
  • session_start / session_regenerate_id()
  • setcookie() / setrawcookie()

Exemplos que irão exibir o erro

Caso você precisa fazer algum redirect, utilizando o header() e logo após tentar escrever algo na página, irá fazer o erro aparecer.

<?php

header("Location: http://www.dicasdephp.com.br/");

echo "Executando o redirect...";

Se você executar o exemplo acima, terá o erro “Cannot modify header information” exibindo na tela.

Como evitar o problema

Antes de mais nada, esse erro pode ser iniciado por problema bem simples, mas que irá fazer você perder muitas horas de trabalho até achar.

Um simples espaço em branco antes de um arquivo <?php, poderá ocasionar o problema.

Também, outro detalhe simples, é na hora de encerrar um arquivo com o ?>, e acabar deixando um espaço ou nova linha em branco no final do arquivo.

Por isso, diversos frameworks, não usam o ?> para encerrar os arquivos.

Dicas para para ajudar a não ter esse erro

  • Procurar por espaço/Tab/enter antes de abrir tag PHP e depois de fechar
  • Quando utilizar arquivos em UTF8, certificar-se de estar usando o UTF8 sem BOM

Caso esse post não tenha lhe ajudado, vamos ao stack overflow, pois lá tem um link com explicação completa do erro.

Vídeo Aula – Tutorial para Criar Plugin para o WordPress

Preparamos uma sequência de vídeos ensinando como criar um plugin para o WordPress. A aula é prática e vai direto ao ponto, utilizando a documentação do WordPress como referência.

Aula 1 – Apresentação

A apresentação da vídeo aula e também o básico da estrutura que será mostrada no final do plugin.

Iremos estudar rapidamente como criar um plugin que transforme um shortcode em uma lista de posts relacionados.

Aula 2 – Programado os posts relacionados

Vamos descobrir como transformar o plugin simples, que construimos na aula 1, em algo dinâmico, retornando posts recém cadastrados no conteúdo do post.

Aula 3 – Compartilhando o plugin

Mostrando um pouco do funcionando de compartilhar o plugin, através de arquivo direto ou realizando a publicação no diretório oficial de plugins do WordPress.


Criando Plugin Completo para o WordPress

Quer avançar e aprender mais sobre toda a estrutura de um plugin para WordPress, recomendamos o curso totalmente online da MX Cursos.

→ Veja mais sobre o curso nesse link.

 

 

Composer: Usando pacotes no PHP

Caso o Composer ainda seja novo para você, esse post vai mostrar o que é, como instalar e usar para começar seus estudos.

Ele é uma ferramenta para gerenciamento de dependências para o PHP que vem ganhando muito espaço entre o desenvolvedores e tornando indispensável.

Com poucos comandos é possível definir todos as bibliotecas necessárias para o seu projeto. Ele ficará responsável por baixar e gerenciar todos os pacotes e configurar seu arquivo de autoloader.

Composer: Pacotes em PHP

O conceito

O conceito é que ele permite que você declare as bibliotecas de seu projeto, e que assim ele irá assumir o gerenciamento (instalação/atualização)-los para você.

Com isso, a instalação e atualização de novas bibliotecas ficará muitoooo mais fácil. Com alguns comandos no terminal, no caso de Linux e OS x, você manterá o projeto atualizado com as dependências.

Para quem já tem experiência com Linux, irá lembrar muito os comandos de “apt-get” dos sistemas Debian/Ubuntu.

Instalando o Composer

Para iniciar, você precisa realizar o download do arquivo phar. Para quem não conhece o phar, ele é um empacotamento de aplicações, de forma que você não precisa ser preocupar com estrutura. Você pode simplesmente baixar e sair usando em qualquer sistema.

Podemos baixar de duas formas distintas: cURL ou próprio PHP.

Download do Composer via cURL

Execute o seguinte comando em seu terminal:

curl -sS https://getcomposer.org/installer | php

Download do Composer via PHP

Execute o seguinte comando em seu terminal:

php -r “readfile(‘https://getcomposer.org/installer’);” | php

Existem outras maneiras de fazer a instalação. Caso prefira, poderá consultar a documentação para verificar a instalação.

Para sair usando, é necessário entender como ele funciona. Deve ter notado diversos frameworks no mercado que ao realizar o download, já vem com o arquivo “composer.json”. Lembre-se, é possível usar em qualquer projeto, pois ele irá auxiliar no controle das dependências do projeto.

Definindo o uso global

Recomendo que você consulte a documentação para verificar como é o funcionamento global. No caso do OS x, necessário mover o composer.phar para o /usr/local/bin/composer.

mv composer.phar /usr/local/bin/composer

Após esse comando é só sair executando pelo terminar. É possível que em determinados projetos tenha problema de permissão, para isso, execute o comando usando o sudo.

Iniciando um projeto PHP com Composer

Depois da instalação feita, é hora de criamos o primeiro projeto. Para iniciar, vamos ao arquivo de configuração.

Lembre-se de criar uma pasta dentro de seu webserver, e nela criar o arquivo de configuração. Poderá usar o modelo abaixo:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "[email protected]"
 }
 ],
 "require": {
 "php": ">=5.4.0"
 }
}

Acho que o próprio esqueleto é auto explicativo, mas segue abaixo detalhes do que você precisa preencher:

  • name: Nome do projeto (recomendável, mas não obrigatório);
  • description: Detalhamento do projeto (não obrigatório);
  • authors: Dê os créditos para quem contribuir com o projeto;
  • require: Informe quais são as necessidade do projeto. Nesse caso, obrigamos que seja necessário usar a versão 5.6 ou superior. Se a instalação falhar irá retornar um erro na hora da configuração do projeto;

Adicionando pacotes

Bem, a parte mais divertida é gerenciar os pacotes. Para saber o que adicionar ao seu pacote, poderá usar o Packagist, onde qualquer desenvolvedor pode inserir suas bibliotecas.

Para esse exemplo, vamos usar a biblioteca proem, para criação de rápido MVC. Veja abaixo nosso composer.json:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "[email protected]"
 }
 ],
 "require": {
 "php": ">=5.4.0",
 "proem/proem" : "0.7.1"
 }
}

Executando o Composer

Agora, com nosso arquivo de configuração definido, é só executar o comando de instalação:

composer install

Ao verificar sua pasta novamente, notará que existem novos arquivos e pastas. Será criada uma pastar “vendor” e criado o arquivo “composer.lock” que é gerador após a instalação realizada com sucesso.

O último passo é criar um arquivo “index.php” e inserir o seu “autoload”. Veja nosso arquivo exemplo abaixo.

<?php

require 'vendor/autoload.php';

Se curtiu esse breve tutorial, deixe um comentário. Podemos fazer novo tutorial abordando mais detalhes.

Curso de PHP: Aprendendo mais sobre PHP em casa

Está procurando sobre Curso de PHP? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre o que quais os requisitos para um programador PHP chegar ao nível ideal de profissionalismo.

Curso de PHP online

É possível sim, aprender PHP online com qualidade sem sair de casa!

Caso você já esteja iniciando no mercado de trabalho e está procurando alcançar um novo nível de conhecimento, indicamos iniciar por um curso de lógica de programação.

Após aprender melhor lógica de programação, o aprendizado de uma nova linguagem será muito mais fácil!

Tudo é muito parecido, em sua essência, alterando apenas sintaxes, por isso uma boa base de lógica será um diferencial.

Caso você já esteja mais avançado e esteja procurando uma formação completa em PHP, recomendamos um curso que você irá passar do zero ao profissional.

Um bom curso de php irá iniciar você em Algoritmo e Lógica de Programação (caso já tenha visto essa parte, sempre bom revisar o conteúdo).

Em um segundo estágio, repassar conteúdos de tratamento de dados em Arrays, Strings, Data e Hora, Arquivos, imagens, Sessões e Cookie, XML, Json, PDF, Webservice, Expressões regulares.

No estágio mais avançado, irá aprender a programar em POO, conectar em banco de dados usando PDO, além de aprender sobre mais novas tendências em PHP, como Namespace, Composer e MVC.

É sempre importante ter acesso e aprender como trabalhar com os principais frameworks do mercado, como: CodeIgnitier, Laravel, Slim, CakePHP e ainda criar um mini Framework do zero.

Existem muitos frameworks para lojas virtuais, construídos 100% em PHP, além de uma boa olhada no mercado de trabalho, estudando sobre blog procedural, plataforma EAD, blog em MVC, sistema de controle de estoque, sistema de biblioteca, sistema escolar, sistema de pizzaria e muito mais.

O que é o PHP

O PHP é, talvez hoje, a linguagem de programação de entrada no mercado da WEB.

Criado por Rasmus Lerdorf em 1995, é de fácil acesso, pois está presente em 99% dos servidores de sites e possui uma infinidade de tutoriais, frameworks, apostilas e materias para aprendizado na internet.

As plataformas para sites mais utilizadas no mundo são hoje desenvolvidas em PHP, como WordPress, Drupal, Joomla, MediaWiki, Moodle e outras, tornando assim o mercado de programador em PHP extremamente necessária e concorrida.

Por ser uma linguagem de fácil acesso, acaba por ter o maior número de profissionais informais e com pouca experiência em construir sistemas robustos com a plataforma.

Nesse quesito, cada vez mais o PHP ganha destaque e aumenta o número de demanda por especialização para tornar os informais em programadores profissionais.

Mind Map - Curso de PHP Profissional
Mind Map – Curso de PHP Profissional

Apostilas Grátis PHP

Uma ótima alternativa para curso de PHP é a fonte de aprendizado na internet que é o download de apostilas de PHP.

Nada melhor que conteúdo grátis para acrescentar conhecimento para nosso dia-a-dia. Abaixo você tem acesso a 4 apostilas de PHP.

Curso de PHP Grátis

Uma boa fonte fonte de para aprender php é o gigante YouTube. Olha aqui em baixo alguns links que separamos com aulas de WordPress, Magento e PHP Básico.

Um grande diferencial para qualquer programador é dominiar o idioma inglês. A base da programação é o inglês, e fará toda diferença você ter a leitura e compreensão do idioma, pois existem o triplo em conteúdos sobre programação no idioma inglês.

Curso Superior em Sistemas para Internet

Nos últimos semestres, grandes universidades do Brasil começaram a ofertar cursos superiores em tecnologia. O mercado de trabalho está necessitando de profissionais qualificados para o trabalho em grandes projetos, e essa pode ser uma ótima oportunidade para você se destacar nesse mercado que é bem concorrido.

Veja abaixo algumas das universidades que estão oferecendo esses cursos:

Oportunidade no Mercado de Trabalho

O perfil que as empresas procuram no profissional de PHP é as mais variadas. Posso citar alguns dos principiais requisitos presentes em diversas vagas de trabalho.

  • Desenvolver aplicativos em linguagens procedurais e orientadas a objeto;
  • Implementar aplicações dinâmicas para internet e para dispositivos móveis;
  • Integrar sistemas legados com sistemas atuais;
  • Conhecimento em ferramentas como WordPress, Magento, Drupal, Joomla;
  • Desenvolvimento de sites e sistemas para lojas virtuais;
  • Integração com redes sociais;
  • Projetar sistemas WEB com ferramentas de apoio;
1 Star2 Stars3 Stars4 Stars5 Stars (59 votos, média: 4,90 de 5)
Loading...

PHP Code Standards: Seguindo padrões com PHP

Quer saber mais sobre como melhorar a padronização de projetos com PHP? O guia “PHP Code Standards” é uma ótima referência para o desenvolvimento dos seus projetos, seguindo uma padronização de código.

Trabalho em equipe com PHP Code Standards

O trabalho em equipe compreende que devem ser considerados os elementos padrão de codificação necessários para assegurar um elevado nível de legibilidade entre o código PHP compartilhado entre vários desenvolvedores.

Simplicidade e clareza alcançada por codificação consistente poupa a equipe de erros comuns.

Facilidade na Manutenção do código

Se você precisar revisar um trecho de código em algum momento, será fácil entender sua lógica e objetivo. Por esse motivo, toda a equipe deve ser um guia padronizado no desenvolvimento do projeto.

É comum projetos começarem sem uma padronização e em determinado momento, trechos de códigos serem refeitos, por ser mais econômico reescrever do que realizar manutenção.

Nomenclatura de Classes, funções, arquivos, tudo!

Tudo no código deve seguir uma padronização. Procure estabelecer como será o padrão de nomes das variáveis, dos métodos, das classes, dos arquivos, padrão de escrita do arquivo, UTF-8 sem BOM, métodos em português ou inglês… tudo deve ser definido antes de iniciar o projeto.

Referências

Separamos uma lista com links de referências para você estudar mais sobre PHP Code Standards.

Antes de iniciar um projeto usando algum framework open-source, pesquise se ele não disponibiliza um documento de code standards. Frameworks e plataformas como CodeIgniter, Zend, Magento e WordPress tem os próprios guias de estilo.

Download PHP Code Standards PDF

No PDF para download você terá um guia para escrever um código organizado, bem estruturado e documentado. Melhorando visibilidade e facilitando futuras manutenções e implementações.

Download PDF

Dúvidas? Deixe um comentário!