Diferença entre require(), require_once(), include, include_once()

Quando se inicia a programar em PHP, por algum tempo vem a dúvida sobre qual a diferença entre essas funções, e achei a minha resposta.
Então aí vai, rapidinho, qual a diferença.

include(): Tenta incluir uma página. Caso de algum erro, o script retorna um warning (aviso) e prossegue com a execução do script. Aceita a passagem de variáveis (GET) na string. Pode ser utilizado em uma estrutura de condicionais que terá seu efeito perpetuado todas as vezes que for chamado.

Require(): Tenta incluir uma página. Caso de algum erro, o script retorna um fatal error(erro fatal) e aborta a execução do script. Aborta mesmo, já era não roda nada mais dali pra frente. Não aceita a passagem de variáveis (GET) na string. Não recomendo que utilizem nas estruturas condicionais, a menos que se deseje o seu efeito, de ser executada apenas uma vez.

include_once() e require_once(): Idênticas as suas funções simples, porém se o arquivo referenciado já foi incluso na página anteriormente, a função retorna ‘false’ e o arquivo não é incluido. É bom quando temos muitos includes e já estamos perdidos, sem saber o que está incluindo o que.

Espero que tenha esclarecido.
Abraços.

Facebook Twitter Linkedin Digg Delicious Reddit Stumbleupon Tumblr Posterous