Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como usar require_once dentro da função


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ção getTierOne() mais de uma vez, então, para cada execução subsequente, o require_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.