Na verdade, do ponto de vista técnico, você pode usar
require_once()
dentro de uma função. No entanto, é mais provável que seja uma má ideia e não o que você realmente deseja fazer:-
incluir código dentro de uma função literalmente inclui o código lá. Isso significa que todo código incluído é avaliado dentro do escopo da função. O PHP declara todas as funções globais, mas variáveis e sequências de código simples são vinculadas localmente, portanto, não visíveis fora da função executada agora.
-
como você usa um caminho relativo para carregar o arquivo incluído, você está limitado a executar sua função dentro de um determinado nível de sistema de arquivos. Isso limita como seu código pode ser usado...
Embora isso possa realmente ser o que você deseja quando o arquivo incluído contém alguma configuração local, você quase certamente tropeçará nisso:
require_once()
requer apenas uma vez, é para isso que a função existe. Isso significa:se você inserir sua funçãogetTierOne()
mais de uma vez, então, para cada execução subsequente, orequire_once()
simplesmente não incluir qualquer código, desde que já tenha na primeira execução. Então, se você inclui sua configuração ou não, depende! Esse é um design horrível!
Portanto, inclua sua configuração globalmente e, por exemplo, armazene-a dentro de alguma variável que você possa consultar dentro de sua função ou use
require()
ou include()
para certificar-se de que a configuração realmente está incluída em todas as execuções da função.