Importando códigos em php

Não sei se é o caso de todo mundo, mas quando aprendi php, o aprendi da forma mais suja possível. Sempre usava programação funcional e algumas vezes coisas das quais não me orgulho muito. Por causa disso, a forma como aprendi a importar código foi usando include e nem imaginava que haveria outras formas.

Quando conheci o paradigma(ou sub-paradigma) de orientação a objetos tentei traze-lo para o php. Mas notei que os includes necessários para fazer duas classes funcionarem juntas estavam se repetindo e dando erro de reescrita de funções.

Mais tarde fiquei conhecendo as outras três maneiras de importar códigos em php, que são:

   1. **include() **Tenta importar o arquivo que foi instruído a fazer, caso não o encontre ele é simplesmente ignorado. Caso seja um arquivo de funções e que você use alguma delas, você terá o erro alertando da falta da definição dela.

   2. **require() **Tenta importar o arquivo, caso não o encontre ele "mata" a aplicação e o interpretador para de rodar. Tem funcionalidade igual ao de um include() or die().

   3. **include_once()** Mesma funcionalidade do include, exceto que ele verifica se o arquivo já foi incluído antes, caso fora ele não faz nada.

   4. **require_once()** Basicamente a mesma coisa que o include_once, porém trava se o arquivo não foi encontrado e nem fora incluído antes.

Para classes sempre escolho usar o includeonce() ou o requireonce() para evitar redefinir classes, porém vejo mais gente usando o requireonce() do que o includeonce(), já para adicionar conteúdo estáticos, como html ou imagens, prefiro usar o include().